diff --git a/IRaCIS.Core.API/Progranm.cs b/IRaCIS.Core.API/Progranm.cs index c58aaf662..38d818514 100644 --- a/IRaCIS.Core.API/Progranm.cs +++ b/IRaCIS.Core.API/Progranm.cs @@ -1,4 +1,4 @@ -using System; +锘縰sing System; using Autofac.Extensions.DependencyInjection; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Hosting; @@ -28,8 +28,8 @@ using OfficeOpenXml.Utils; -#region 获取环境变量 -//以配置文件为准,否则 从url中取环境值(服务以命令行传递参数启动,配置文件配置了就不需要传递环境参数) +#region 鑾峰彇鐜鍙橀噺 +//浠ラ厤缃枃浠朵负鍑嗭紝鍚﹀垯 浠巙rl涓彇鐜鍊(鏈嶅姟浠ュ懡浠よ浼犻掑弬鏁板惎鍔紝閰嶇疆鏂囦欢閰嶇疆浜嗗氨涓嶉渶瑕佷紶閫掔幆澧冨弬鏁) var config = new ConfigurationBuilder() .AddEnvironmentVariables() .Build(); @@ -51,7 +51,7 @@ var builder = WebApplication.CreateBuilder(new WebApplicationOptions EnvironmentName = enviromentName }); -#region 兼容windows 服务命令行的方式 +#region 鍏煎windows 鏈嶅姟鍛戒护琛岀殑鏂瑰紡 //foreach (var arg in args) //{ @@ -69,7 +69,7 @@ if (urlsIndex > -1) #endregion -#region 主机配置 +#region 涓绘満閰嶇疆 NewId.SetProcessIdProvider(new CurrentProcessIdProvider()); @@ -93,15 +93,15 @@ builder.Host #endregion -#region 配置服务 +#region 閰嶇疆鏈嶅姟 var _configuration = builder.Configuration; -//健康检查 +//鍋ュ悍妫鏌 builder.Services.AddHealthChecks(); -//本地化 +//鏈湴鍖 builder.Services.AddJsonLocalization(options => options.ResourcesPath = "Resources"); -// 异常、参数统一验证过滤器、Json序列化配置、字符串参数绑型统一Trim() +// 寮傚父銆佸弬鏁扮粺涓楠岃瘉杩囨护鍣ㄣ丣son搴忓垪鍖栭厤缃佸瓧绗︿覆鍙傛暟缁戝瀷缁熶竴Trim() builder.Services.AddControllers(options => { //options.Filters.Add(); @@ -115,7 +115,7 @@ builder.Services.AddControllers(options => } }) - .AddNewtonsoftJsonSetup(); // NewtonsoftJson 序列化 处理 + .AddNewtonsoftJsonSetup(); // NewtonsoftJson 搴忓垪鍖 澶勭悊 builder.Services.AddOptions().Configure(_configuration.GetSection("SystemEmailSendConfig")); builder.Services.AddOptions().Configure(_configuration.GetSection("BasicSystemConfig")); @@ -123,43 +123,43 @@ builder.Services.AddOptions().Configure(_configuration.GetSect builder.Services.AddOptions().Configure(_configuration.GetSection("ObjectStoreService")); -//动态WebApi + UnifiedApiResultFilter 省掉控制器代码 +//鍔ㄦ乄ebApi + UnifiedApiResultFilter 鐪佹帀鎺у埗鍣ㄤ唬鐮 builder.Services.AddDynamicWebApiSetup(); //AutoMapper builder.Services.AddAutoMapperSetup(); //EF ORM QueryWithNoLock builder.Services.AddEFSetup(_configuration); -//Http 响应压缩 +//Http 鍝嶅簲鍘嬬缉 builder.Services.AddResponseCompressionSetup(); -//Swagger Api 文档 +//Swagger Api 鏂囨。 builder.Services.AddSwaggerSetup(); -//JWT Token 验证 +//JWT Token 楠岃瘉 builder.Services.AddJWTAuthSetup(_configuration); -// MediatR 进程内消息 事件解耦 从程序集中 注册命令和handler对应关系 +// MediatR 杩涚▼鍐呮秷鎭 浜嬩欢瑙h 浠庣▼搴忛泦涓 娉ㄥ唽鍛戒护鍜宧andler瀵瑰簲鍏崇郴 builder.Services.AddMediatR(cfg => cfg.RegisterServicesFromAssemblyContaining()); -// EasyCaching 缓存 +// EasyCaching 缂撳瓨 builder.Services.AddEasyCachingSetup(_configuration); -// hangfire 定时任务框架 有界面,更友好~ +// hangfire 瀹氭椂浠诲姟妗嗘灦 鏈夌晫闈紝鏇村弸濂絶 builder.Services.AddhangfireSetup(_configuration); -//Serilog 日志可视化 LogDashboard日志 +//Serilog 鏃ュ織鍙鍖 LogDashboard鏃ュ織 builder.Services.AddLogDashboardSetup(); builder.Services.AddJsonConfigSetup(_configuration); -//转发头设置 获取真实IP +//杞彂澶磋缃 鑾峰彇鐪熷疄IP builder.Services.Configure(options => { options.ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto; }); -//Dicom影像渲染图片 跨平台 +//Dicom褰卞儚娓叉煋鍥剧墖 璺ㄥ钩鍙 builder.Services.AddDicomSetup(); -// 实时应用 +// 瀹炴椂搴旂敤 builder.Services.AddSignalR(); builder.Services.AddSingleton(); @@ -168,18 +168,18 @@ builder.Services.AddSingleton(); -#region 历史废弃配置 +#region 鍘嗗彶搴熷純閰嶇疆 //builder.Services.AddMemoryCache(); -////上传限制 配置 +////涓婁紶闄愬埗 閰嶇疆 //builder.Services.Configure(options => //{ // options.MultipartBodyLengthLimit = int.MaxValue; // options.ValueCountLimit = int.MaxValue; // options.ValueLengthLimit = int.MaxValue; //}); -//IP 限流 可设置白名单 或者黑名单 +//IP 闄愭祦 鍙缃櫧鍚嶅崟 鎴栬呴粦鍚嶅崟 //services.AddIpPolicyRateLimitSetup(_configuration); -// 用户类型 策略授权 +// 鐢ㄦ埛绫诲瀷 绛栫暐鎺堟潈 //services.AddAuthorizationPolicySetup(_configuration); #endregion @@ -188,22 +188,22 @@ builder.Services.AddSingleton(); var app = builder.Build(); var env = app.Environment; -#region 配置中间件 +#region 閰嶇疆涓棿浠 // Configure the HTTP request pipeline. -//本地化 +//鏈湴鍖 app.UseLocalization(); app.UseForwardedHeaders(); -//响应压缩 +//鍝嶅簲鍘嬬缉 app.UseResponseCompression(); //app.UseCors(t => t.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader()); -//不需要 token 访问的静态文件 wwwroot css, JavaScript, and images don't require authentication. +//涓嶉渶瑕 token 璁块棶鐨勯潤鎬佹枃浠 wwwroot css, JavaScript, and images don't require authentication. app.UseStaticFiles(); app.UseMiddleware(); @@ -215,7 +215,7 @@ app.UseLogDashboard("/LogDashboard"); app.UseHangfireConfig(env); -////限流 中间件 +////闄愭祦 涓棿浠 //app.UseIpRateLimiting(); @@ -228,13 +228,13 @@ else //app.UseHsts(); } -// 特殊异常处理 比如 404 +// 鐗规畩寮傚父澶勭悊 姣斿 404 app.UseStatusCodePagesWithReExecute("/Error/{0}"); SwaggerSetup.Configure(app, env); -////serilog 记录请求的用户信息 +////serilog 璁板綍璇锋眰鐨勭敤鎴蜂俊鎭 app.UseSerilogConfig(env); app.UseRouting(); @@ -270,21 +270,21 @@ await hangfireJobService.InitHangfireJobTaskAsync(); try { - #region 运行环境 部署平台 + #region 杩愯鐜 閮ㄧ讲骞冲彴 - Log.Logger.Warning($"当前环境:{enviromentName}"); + Log.Logger.Warning($"褰撳墠鐜锛歿enviromentName}"); if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { - Log.Logger.Warning($"当前部署平台环境:windows"); + Log.Logger.Warning($"褰撳墠閮ㄧ讲骞冲彴鐜锛歸indows"); } else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) { - Log.Logger.Warning($"当前部署平台环境:linux"); + Log.Logger.Warning($"褰撳墠閮ㄧ讲骞冲彴鐜锛歭inux"); } else { - Log.Logger.Warning($"当前部署平台环境:OSX or FreeBSD"); + Log.Logger.Warning($"褰撳墠閮ㄧ讲骞冲彴鐜锛歄SX or FreeBSD"); } #endregion