sunpengfei
2025-08-07 0b49fee10340ea40a6762da657239675d3db22f6
FlexJobApi.Core/FlexJobApiCoreStartup.cs
@@ -1,4 +1,5 @@
using Furion;
using Consul;
using Furion;
using Furion.EventBus;
using MediatR;
using Microsoft.AspNetCore.Builder;
@@ -19,16 +20,16 @@
    {
        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
@@ -38,8 +39,13 @@
            services.AddDatabaseLogging<DatabaseLoggingWriter>(options =>
            {
                options.WithTraceId = true;
                options.WithStackFrame = true;
            });
            services.AddConfigurableOptions<AliyunOptions>();
            services.AddHttpRemote();
            services.AddComponent<ConsulServiceComponent>();
            services.AddComponent<EventBusServiceComponent>();
@@ -48,6 +54,7 @@
            services.AddMediatR(cfg => cfg.RegisterServicesFromAssemblies(App.Assemblies.ToArray()));
            services.AddHostedService<XmlDocBuildHostedService>();
            services.AddHostedService<BuildDynamicControllersHostedService>();
            services.AddJwt<JwtHandler>(enableGlobalAuthorize: true);
@@ -67,6 +74,8 @@
                    .AddFriendlyException()
                    .AddDataValidation()
                    .AddInjectWithUnifyResult<FriendlyResultProvider>();
            services.AddMvcFilter<ResourceActionFilter>();
        }
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IHostApplicationLifetime lifetime)
@@ -103,12 +112,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();
            //});
        }
    }
}