using Dlhis.Middle.BackgroundServices; using Dlhis.Middle.Entities; using Dlhis.Middle.Services; using Kurisu.AspNetCore; using Kurisu.AspNetCore.Authentication.Extensions; using Kurisu.AspNetCore.DataAccess.SqlSugar.Services; using Kurisu.AspNetCore.Startup; using Microsoft.IdentityModel.Logging; namespace Dlhis.Middle; class Program { static void Main(string[] args) { KurisuHost.Run(args); } } public class Startup : DefaultStartup { public Startup(IConfiguration configuration) : base(configuration) { IdentityModelEventSource.ShowPII = true; } public override void ConfigureServices(IServiceCollection services) { base.ConfigureServices(services); services.AddHostedService(); services.AddHostedService(); services.AddRemoteCall(App.ActiveTypes); services.AddMemoryCache(); services.AddUserInfo(); } /// public override void Configure(IApplicationBuilder app, IWebHostEnvironment env) { base.Configure(app, env); var healthCheckService = app.ApplicationServices.GetService(); if (healthCheckService.DoHealthCheckAsync().GetAwaiter().GetResult()) { using var scope = app.ApplicationServices.CreateScope(); var db = scope.ServiceProvider.GetService(); db.Client.DbMaintenance.CreateDatabase(); db.Client.CodeFirst.InitTables(); db.Client.CodeFirst.InitTables(); db.Client.CodeFirst.InitTables(); var factories = scope.ServiceProvider.GetService().GetFactories(); var ds = scope.ServiceProvider.GetService(); ds.InitAsync(factories).Wait(); } } }