修改utf-8
continuous-integration/drone/push Build is passing Details

Uat_Study
hang 2024-01-03 11:19:07 +08:00
parent a63904c0bb
commit c971161d31
1 changed files with 33 additions and 33 deletions

View File

@ -1,4 +1,4 @@
using Autofac; using Autofac;
using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Http.Features;
@ -53,7 +53,7 @@ namespace IRaCIS.Core.API
containerBuilder.RegisterModule<AutofacModuleSetup>(); containerBuilder.RegisterModule<AutofacModuleSetup>();
#region Test #region Test
//containerBuilder.RegisterType<ClinicalDataService>().PropertiesAutowired().InstancePerLifetimeScope();//注册仓储 //containerBuilder.RegisterType<ClinicalDataService>().PropertiesAutowired().InstancePerLifetimeScope();//注册仓储
//var container = containerBuilder.Build(); //var container = containerBuilder.Build();
@ -75,12 +75,12 @@ namespace IRaCIS.Core.API
// This method gets called by the runtime. Use this method to add services to the container. // This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services) public void ConfigureServices(IServiceCollection services)
{ {
//健康检查 //健康检查
services.AddHealthChecks(); services.AddHealthChecks();
//本地化 //本地化
services.AddJsonLocalization(options => options.ResourcesPath = "Resources"); services.AddJsonLocalization(options => options.ResourcesPath = "Resources");
// 异常、参数统一验证过滤器、Json序列化配置、字符串参数绑型统一Trim() // 异常、参数统一验证过滤器、Json序列化配置、字符串参数绑型统一Trim()
services.AddControllers(options => services.AddControllers(options =>
{ {
//options.Filters.Add<LogActionFilter>(); //options.Filters.Add<LogActionFilter>();
@ -95,7 +95,7 @@ namespace IRaCIS.Core.API
}) })
.AddNewtonsoftJsonSetup(); // NewtonsoftJson 序列化 处理 .AddNewtonsoftJsonSetup(); // NewtonsoftJson 序列化 处理
services.AddOptions().Configure<SystemEmailSendConfig>(_configuration.GetSection("SystemEmailSendConfig")); services.AddOptions().Configure<SystemEmailSendConfig>(_configuration.GetSection("SystemEmailSendConfig"));
services.AddOptions().Configure<ServiceVerifyConfigOption>(_configuration.GetSection("BasicSystemConfig")); services.AddOptions().Configure<ServiceVerifyConfigOption>(_configuration.GetSection("BasicSystemConfig"));
@ -103,62 +103,62 @@ namespace IRaCIS.Core.API
services.AddOptions().Configure<ObjectStoreServiceOptions>(_configuration.GetSection("ObjectStoreService")); services.AddOptions().Configure<ObjectStoreServiceOptions>(_configuration.GetSection("ObjectStoreService"));
//动态WebApi + UnifiedApiResultFilter 省掉控制器代码 //动态WebApi + UnifiedApiResultFilter 省掉控制器代码
services.AddDynamicWebApiSetup(); services.AddDynamicWebApiSetup();
//AutoMapper //AutoMapper
services.AddAutoMapperSetup(); services.AddAutoMapperSetup();
//EF ORM QueryWithNoLock //EF ORM QueryWithNoLock
services.AddEFSetup(_configuration); services.AddEFSetup(_configuration);
//Http 响应压缩 //Http 响应压缩
services.AddResponseCompressionSetup(); services.AddResponseCompressionSetup();
//Swagger Api 文档 //Swagger Api 文档
services.AddSwaggerSetup(); services.AddSwaggerSetup();
//JWT Token 验证 //JWT Token 验证
services.AddJWTAuthSetup(_configuration); services.AddJWTAuthSetup(_configuration);
// MediatR 进程内消息 事件解耦 从程序集中 注册命令和handler对应关系 // MediatR 进程内消息 事件解耦 从程序集中 注册命令和handler对应关系
services.AddMediatR(cfg => cfg.RegisterServicesFromAssemblyContaining<ConsistencyVerificationHandler>()); services.AddMediatR(cfg => cfg.RegisterServicesFromAssemblyContaining<ConsistencyVerificationHandler>());
// EasyCaching 缓存 // EasyCaching 缓存
services.AddEasyCachingSetup(_configuration); services.AddEasyCachingSetup(_configuration);
//services.AddDistributedMemoryCache(); //services.AddDistributedMemoryCache();
// hangfire 定时任务框架 有界面,更友好~ // hangfire 定时任务框架 有界面,更友好~
services.AddhangfireSetup(_configuration); services.AddhangfireSetup(_configuration);
// QuartZ 定时任务框架 使用了hangfire 暂时不用,后续需要可以打开,已经配好 // QuartZ 定时任务框架 使用了hangfire 暂时不用,后续需要可以打开,已经配好
services.AddQuartZSetup(_configuration); services.AddQuartZSetup(_configuration);
// 保护上传文件 // 保护上传文件
//services.AddStaticFileAuthorizationSetup(); //services.AddStaticFileAuthorizationSetup();
////HttpReports 暂时废弃 ////HttpReports 暂时废弃
//services.AddHttpReports().AddHttpTransport(); //services.AddHttpReports().AddHttpTransport();
//Serilog 日志可视化 LogDashboard日志 //Serilog 日志可视化 LogDashboard日志
services.AddLogDashboardSetup(); services.AddLogDashboardSetup();
//上传限制 配置 //上传限制 配置
services.Configure<FormOptions>(options => services.Configure<FormOptions>(options =>
{ {
options.MultipartBodyLengthLimit = int.MaxValue; options.MultipartBodyLengthLimit = int.MaxValue;
options.ValueCountLimit = int.MaxValue; options.ValueCountLimit = int.MaxValue;
options.ValueLengthLimit = int.MaxValue; options.ValueLengthLimit = int.MaxValue;
}); });
//IP 限流 可设置白名单 或者黑名单 //IP 限流 可设置白名单 或者黑名单
//services.AddIpPolicyRateLimitSetup(_configuration); //services.AddIpPolicyRateLimitSetup(_configuration);
// 用户类型 策略授权 // 用户类型 策略授权
//services.AddAuthorizationPolicySetup(_configuration); //services.AddAuthorizationPolicySetup(_configuration);
services.AddJsonConfigSetup(_configuration); services.AddJsonConfigSetup(_configuration);
//转发头设置 获取真实IP //转发头设置 获取真实IP
services.Configure<ForwardedHeadersOptions>(options => services.Configure<ForwardedHeadersOptions>(options =>
{ {
options.ForwardedHeaders = options.ForwardedHeaders =
ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto; ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;
}); });
//Dicom影像渲染图片 跨平台 //Dicom影像渲染图片 跨平台
services.AddDicomSetup(); services.AddDicomSetup();
// 实时应用 // 实时应用
services.AddSignalR(); services.AddSignalR();
@ -175,17 +175,17 @@ namespace IRaCIS.Core.API
{ {
//app.UsePathBase(PathString.FromUriComponent("/api")); //app.UsePathBase(PathString.FromUriComponent("/api"));
//本地化 //本地化
app.UseLocalization(); app.UseLocalization();
app.UseForwardedHeaders(); app.UseForwardedHeaders();
//响应压缩 //响应压缩
app.UseResponseCompression(); app.UseResponseCompression();
//app.UseCors(t => t.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader()); //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.UseStaticFiles();
@ -195,10 +195,10 @@ namespace IRaCIS.Core.API
//hangfire //hangfire
app.UseHangfireConfig(env); app.UseHangfireConfig(env);
////暂时废弃 ////暂时废弃
//app.UseHttpReports(); //app.UseHttpReports();
////限流 中间件 ////限流 中间件
//app.UseIpRateLimiting(); //app.UseIpRateLimiting();
@ -211,18 +211,18 @@ namespace IRaCIS.Core.API
{ {
//app.UseHsts(); //app.UseHsts();
} }
Console.WriteLine("当前环境: " + env.EnvironmentName); Console.WriteLine("当前环境: " + env.EnvironmentName);
//app.UseMiddleware<AuthMiddleware>(); //app.UseMiddleware<AuthMiddleware>();
// 特殊异常处理 比如 404 // 特殊异常处理 比如 404
app.UseStatusCodePagesWithReExecute("/Error/{0}"); app.UseStatusCodePagesWithReExecute("/Error/{0}");
SwaggerSetup.Configure(app, env); SwaggerSetup.Configure(app, env);
////serilog 记录请求的用户信息 ////serilog 记录请求的用户信息
app.UseSerilogConfig(env); app.UseSerilogConfig(env);
app.UseRouting(); app.UseRouting();
@ -237,7 +237,7 @@ namespace IRaCIS.Core.API
//app.UseJwtBearerQueryString(); //app.UseJwtBearerQueryString();
app.UseAuthorization(); app.UseAuthorization();
////文件伺服 必须带Token 访问 ////文件伺服 必须带Token 访问
////app.UseIRacisHostStaticFileStore(env); ////app.UseIRacisHostStaticFileStore(env);
app.UseEndpoints(endpoints => app.UseEndpoints(endpoints =>
@ -253,7 +253,7 @@ namespace IRaCIS.Core.API
var hangfireJobService = app.ApplicationServices.GetRequiredService<IIRaCISHangfireJob>(); var hangfireJobService = app.ApplicationServices.GetRequiredService<IIRaCISHangfireJob>();
await hangfireJobService.InitHangfireJobTaskAsync(); await hangfireJobService.InitHangfireJobTaskAsync();
//有的时候每调用 //有的时候每调用
//HangfireJobHelper.NotImmediatelyOnceOnlyJob<IIRaCISHangfireJob>(t => t.InitHangfireJobTaskAsync(),TimeSpan.FromSeconds(1)); //HangfireJobHelper.NotImmediatelyOnceOnlyJob<IIRaCISHangfireJob>(t => t.InitHangfireJobTaskAsync(),TimeSpan.FromSeconds(1));