xxyy
2025-02-15 abff6261e5e74ff16a844f4739f84d49b6133000
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs
@@ -1,28 +1,33 @@
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_Core.Extensions;
using WIDESEAWCS_Core.Middlewares;
using System.Reflection;
using WIDESEAWCS_Core.Filter;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Serialization;
using Newtonsoft.Json;
using System.Text;
using Microsoft.AspNetCore.Mvc.Controllers;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseServices;
using Autofac.Extensions.DependencyInjection;
using Autofac;
using WIDESEAWCS_WCSServer.Filter;
using Autofac.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Mvc.Controllers;
using Microsoft.AspNetCore.SignalR;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System.Reflection;
using System.Text;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.Authorization;
using WIDESEAWCS_Core.Core;
using WIDESEAWCS_QuartzJob.Seed;
using Autofac.Core;
using WIDESEAWCS_Core.Extensions;
using WIDESEAWCS_Core.Filter;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_Core.Middlewares;
using WIDESEAWCS_QuartzJob.QuartzExtensions;
using Microsoft.AspNetCore.Builder;
using WIDESEAWCS_QuartzJob.Seed;
using WIDESEAWCS_SignalR;
using WIDESEAWCS_Tasks;
using WIDESEAWCS_WCSServer.Filter;
var builder = WebApplication.CreateBuilder(args);
if (!HslCommunication.Authorization.SetAuthorizationCode("95f1611d-633c-46ea-b03a-38ede1629f74"))
{
    ConsoleHelper.WriteErrorLine("授权失败!当前程序只能使用24小时!");
}
else
    ConsoleHelper.WriteSuccessLine("授权成功!");
builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory()).ConfigureContainer<ContainerBuilder>(builder =>
{
@@ -35,8 +40,7 @@
    config.Sources.Clear();
    config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: false);
}); ;
builder.ConfigureApplication();
builder.Inject().ConfigureApplication();
// 2、配置服务
builder.Services.AddSingleton(new AppSettings(builder.Configuration));//注册
@@ -61,6 +65,10 @@
builder.Services.AddHttpContextSetup();
ConsoleHelper.WriteSuccessLine("注册SignalR插件");
builder.Services.AddSignalR();//注册SignalR
builder.Services.AddSingleton<IUserIdProvider, UserIdProvider>();//用户ID提供器
builder.Services.AddHostedService<QuartzJobHostedService>();
builder.Services.AddMvc(options =>
@@ -74,6 +82,7 @@
builder.Services.AddIpPolicyRateLimitSetup(builder.Configuration);//IPLimit限流 启动服务
builder.Services.AddScoped<UseServiceDIAttribute>();
builder.Services.AddScoped<CommonConveyorLineJob>();
builder.Services.AddSession();
@@ -99,7 +108,6 @@
builder.Services.Replace(ServiceDescriptor.Transient<IControllerActivator, ServiceBasedControllerActivator>());
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
var app = builder.Build();
// 3、配置中间件
@@ -107,7 +115,7 @@
app.ConfigureApplication();//配置文件
app.UseApplicationSetup();//启动配置
app.UseSession();
if (app.Environment.IsDevelopment())
//if (app.Environment.IsDevelopment())
{
    //todo
    //app.UseSwaggerAuthorized();
@@ -135,6 +143,7 @@
app.UseAuthentication();
app.UseAuthorization();
app.MapHubs();
app.MapControllers();
app.Run();
app.Run();