Dipper/Dipper.Alioth/Web/StarHost.cs

41 lines
814 B
C#
Raw Normal View History

2022-11-06 22:42:32 +08:00
using Dipper.Alioth.Options;
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
namespace Dipper.Alioth.Web;
public class StarHost
{
2022-11-06 23:03:52 +08:00
private StarHost()
{
}
public StarHost CreateHost()
{
return new StarHost();
}
public void Run(string[] args, Action<StarOption> action)
2022-11-06 22:42:32 +08:00
{
var app = Configure(args, action);
app.Run();
}
2022-11-06 23:03:52 +08:00
public Task RunAsync(string[] args, Action<StarOption> action)
2022-11-06 22:42:32 +08:00
{
var app = Configure(args, action);
return app.RunAsync();
}
2022-11-06 23:03:52 +08:00
private WebApplication Configure(string[] args, Action<StarOption> action)
2022-11-06 22:42:32 +08:00
{
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
return app;
}
}