yanjinhui
2 天以前 fe596f9db05103917c9257348edcbd3ecb5b46e8
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs
@@ -18,6 +18,7 @@
using WIDESEAWCS_Core.Extensions;
using WIDESEAWCS_Core.Filter;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_Core.LogHelper;
using WIDESEAWCS_Core.Middlewares;
using WIDESEAWCS_QuartzJob;
using WIDESEAWCS_QuartzJob.QuartzExtensions;
@@ -50,6 +51,25 @@
builder.Services.AddHostedService<SeedDataHostedService>();//初始化数据库
builder.Services.AddDbSetup();//Db å¯åŠ¨æœåŠ¡
#region æ·»åŠ æ—¥å¿—æ¸…ç†æœåŠ¡
var cleanupRetentionDays = builder.Configuration.GetValue<int>("LogCleanup:RetentionDays", 90);
var cleanupHour = builder.Configuration.GetValue<int>("LogCleanup:CleanupHour", 2);
var enableAutoCleanup = builder.Configuration.GetValue<bool>("LogCleanup:EnableAutoCleanup", true);
var enableArchive = builder.Configuration.GetValue<bool>("LogCleanup:EnableArchive", false);
var logRetentionDays = builder.Configuration.GetValue<int>("LogCleanup:LogRetentionDays", 30);
builder.Services.AddSingleton(sp => new LogCleanupService
{
    RetentionDays = cleanupRetentionDays,
    CleanupHour = cleanupHour,
    EnableAutoCleanup = enableAutoCleanup,
    EnableArchive = enableArchive,
    LogRetentionDays= logRetentionDays,
    CleanupIntervalHours = 24
});
builder.Services.AddHostedService(sp => sp.GetRequiredService<LogCleanupService>());
#endregion
//builder.Services.AddScoped<QuartzJobCreateDataTabel>();//任务调度 æ³¨å…¥åˆ›å»ºQuartzJob数据库表类
//builder.Services.AddHostedService<QuartzJobDataTableHostedService>();//任务调度 æ˜ å°„QuartzJob数据库表
@@ -123,7 +143,8 @@
app.UseSwaggerMiddle(() => Assembly.GetExecutingAssembly().GetManifestResourceStream("WIDESEAWCS_Server.index.html") ?? throw new Exception("未找到WIDESEAWCS_Server.index.html文件"));
app.UseIpLimitMiddle();
app.UseApiLogMiddleware();
//app.UseApiLogMiddleware();
app.UseApiLogMiddlewareNew();
app.UseCors(AppSettings.Get(new string[] { "Cors", "PolicyName" }));
@@ -148,4 +169,14 @@
app.MapControllers();
#region åº”用启动时立即清理一次
//Task.Run(async () =>
//{
//    // ç­‰å¾…应用完全启动
//    await Task.Delay(30000);
//    var cleanupService = app.Services.GetRequiredService<LogCleanupService>();
//    await cleanupService.ManualCleanup(90);
//});
#endregion
app.Run();