namespace CloudGaming.Api.Admin; /// /// 程序启动器 /// [ImportStartupModule< DataBaseModelStartup, CoreQuartzStartup, CoreRazorStartup, CoreRedisStartup, CoreIdentityStartup, AdminRepositoryStartup, //UserRepositoryStartup, GameRepositoryStartup, CoreSwaggerJwtStartup, SharedAdminStartup>] public class ApiAdminStartup : AppStartupBase { /// /// /// /// public override void ConfigureServices(WebApplicationBuilder webApplicationBuilder) { base.ConfigureServices(webApplicationBuilder); var services = webApplicationBuilder.Services; var configuration = webApplicationBuilder.Configuration; var appConfiguration = new AppConfiguration(configuration); services.AddControllers(options => { options.Filters.Add(); options.Filters.Add(); }) .AddDynamicApiController(options => options.IsLower = false) ; //SignalR services.AddSignalR(); services.AddHttpClient(); #region 取消默认验证Api 接收参数模型 的 验证特性 如有 [ApiController] services.Configure(options => { options.SuppressModelStateInvalidFilter = true; }); #endregion services.Configure(configuration.GetSection(nameof(FileOptions))); } /// /// /// /// public override void Configure(WebApplication webApplication) { base.Configure(webApplication); //// 跳转客户端 //webApplication.MapGet("/", [AllowAnonymous] () => Results.Redirect("/client/index.html")); webApplication.MapGet("/", [AllowAnonymous] () => "请求成功"); // 跳转离线文档 webApplication.MapGet("/docs", [AllowAnonymous] () => Results.Redirect("/docs/index.html")); //SignalR webApplication.UseSignalRHubs(); } /// /// 程序启动 /// /// public override void ApplicationStarted(WebApplication webApplication) { // 启动定时任务 if (webApplication.Configuration.GetSection("IsRunQuartzTask").Get()) { webApplication.UseQuartzStartup(); } } }