Dipper/Dipper.Alioth/Web/WebStarHost.cs

43 lines
928 B
C#

using Dipper.Alioth.Options;
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
namespace Dipper.Alioth.Web;
public class WebStarHost : StarHost
{
private WebStarHost()
{
}
public static WebStarHost CreateWebHost()
{
return new WebStarHost();
}
public override void Run(string[] args, Action<StarOption> action)
{
var app = Configure(args, action);
app.Run();
}
public override Task RunAsync(string[] args, Action<StarOption> action)
{
var app = Configure(args, action);
return app.RunAsync();
}
private WebApplication Configure(string[] args, Action<StarOption> action)
{
var builder = WebApplication.CreateBuilder(args);
builder.AddStarApp(action);
var app = builder.Build();
app.UserStarApp();
return app;
}
}