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();
}
}
}