From d644f492cea0856f1f3410d77d4545c6f615c651 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期四, 07 八月 2025 17:01:56 +0800
Subject: [PATCH] pref:深度优化

---
 FlexJobApi.Core/FlexJobApiCoreStartup.cs |   32 +++++++++++++++++++++++++-------
 1 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/FlexJobApi.Core/FlexJobApiCoreStartup.cs b/FlexJobApi.Core/FlexJobApiCoreStartup.cs
index 43e850c..a63fda8 100644
--- a/FlexJobApi.Core/FlexJobApiCoreStartup.cs
+++ b/FlexJobApi.Core/FlexJobApiCoreStartup.cs
@@ -1,4 +1,5 @@
-锘縰sing Furion;
+锘縰sing 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>();
 
@@ -53,6 +59,8 @@
 
             services.AddCorsAccessor();
 
+            services.AddHostedService<BuildDynamicControllersHostedService>();
+
             services.AddSpecificationDocuments(options =>
             {
                 options.OperationFilter<CustomOperationIdFilter>();
@@ -62,14 +70,16 @@
             services.AddControllers()
                     .AddNewtonsoftJson(options =>
                     {
-                        options.SerializerSettings.Converters.Add(new StringEnumConverter());
+                        //options.SerializerSettings.Converters.Add(new StringEnumConverter());
                     })
                     .AddFriendlyException()
                     .AddDataValidation()
                     .AddInjectWithUnifyResult<FriendlyResultProvider>();
+
+            services.AddMvcFilter<ResourceActionFilter>();
         }
 
-        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
+        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IHostApplicationLifetime lifetime)
         {
             // 瑙f瀽浜嬩欢鎬荤嚎鍙戝竷鏈嶅姟
             var eventPublisher = app.ApplicationServices.GetRequiredService<IEventPublisher>();
@@ -87,7 +97,7 @@
 
             app.UseUnifyResultStatusCodes();
 
-            app.UseHttpsRedirection();
+            //app.UseHttpsRedirection();
 
             app.UseRouting();
 
@@ -103,7 +113,15 @@
             app.UseEndpoints(endpoints =>
             {
                 endpoints.MapControllers();
+                endpoints.MapHealthChecks("/healthz");
             });
+
+            app.UseComponent<ConsulApplicationComponent>(env);
+
+            //lifetime.ApplicationStarted.Register(async () =>
+            //{
+            //    await ResourceUtils.BuildDynamicControllersAsync();
+            //});
         }
     }
 }

--
Gitblit v1.9.1