sunpengfei
2025-08-08 2da5c6be190d8078393eb2df777863931218ad19
FlexJobApi.Core/FlexJobApiCoreStartup.cs
@@ -1,4 +1,5 @@
using Furion;
using Consul;
using Furion;
using Furion.EventBus;
using MediatR;
using Microsoft.AspNetCore.Builder;
@@ -19,29 +20,32 @@
    {
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddHealthChecks();
            services.AddConsoleFormatter(options =>
            {
                options.WithTraceId = true;
                options.WithStackFrame = true;
            });
            services.AddFileLogging(options =>
            {
                options.WithTraceId = true;
                options.WithStackFrame = true;
                options.FileNameRule = fileName =>
                {
                    return string.Format(fileName, DateTime.UtcNow);    // 如果是本地时间使用 DateTime.Now
                    return string.Format(fileName, DateTime.Now);
                };
            });
            services.AddDatabaseLogging<DatabaseLoggingWriter>(options =>
            {
                options.WithTraceId = true;
                options.WithStackFrame = true;
            });
            //services.AddDatabaseLogging<DatabaseLoggingWriter>(options =>
            //{
            //    options.WithTraceId = true;
            //});
            services.AddConfigurableOptions<AliyunOptions>();
            services.AddHttpRemote();
            services.AddComponent<ConsulServiceComponent>();
            services.AddComponent<EventBusServiceComponent>();
@@ -54,6 +58,8 @@
            services.AddJwt<JwtHandler>(enableGlobalAuthorize: true);
            services.AddCorsAccessor();
            services.AddHostedService<BuildDynamicControllersHostedService>();
            services.AddSpecificationDocuments(options =>
            {
@@ -69,6 +75,8 @@
                    .AddFriendlyException()
                    .AddDataValidation()
                    .AddInjectWithUnifyResult<FriendlyResultProvider>();
            services.AddMvcFilter<ResourceActionFilter>();
        }
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IHostApplicationLifetime lifetime)
@@ -105,12 +113,15 @@
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
                endpoints.MapHealthChecks("/healthz");
            });
            lifetime.ApplicationStarted.Register(async () =>
            {
                await ResourceUtils.BuildWebApis();
            });
            app.UseComponent<ConsulApplicationComponent>(env);
            //lifetime.ApplicationStarted.Register(async () =>
            //{
            //    await ResourceUtils.BuildDynamicControllersAsync();
            //});
        }
    }
}