sunpengfei
2025-08-08 26f32337709ab7b8d8266daa93a03e16288f8e00
FlexJobApi.Core/FlexJobApiCoreStartup.cs
@@ -1,4 +1,5 @@
using Furion;
using Consul;
using Furion;
using Furion.EventBus;
using MediatR;
using Microsoft.AspNetCore.Builder;
@@ -19,31 +20,37 @@
    {
        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.AddComponent<ConsulServiceComponent>();
            services.AddComponent<EventBusServiceComponent>();
            services.AddComponent<DistributedCacheServiceComponent>();
            services.AddHttpRemote();
            services.AddSingleton<ResourceHttpUtils>();
            services.AddMediatR(cfg => cfg.RegisterServicesFromAssemblies(App.Assemblies.ToArray()));
@@ -52,6 +59,8 @@
            services.AddJwt<JwtHandler>(enableGlobalAuthorize: true);
            services.AddCorsAccessor();
            services.AddHostedService<BuildDynamicControllersHostedService>();
            services.AddSpecificationDocuments(options =>
            {
@@ -67,6 +76,8 @@
                    .AddFriendlyException()
                    .AddDataValidation()
                    .AddInjectWithUnifyResult<FriendlyResultProvider>();
            services.AddMvcFilter<ResourceActionFilter>();
        }
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IHostApplicationLifetime lifetime)
@@ -103,12 +114,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();
            //});
        }
    }
}