using Autofac; using Autofac.Extensions.DependencyInjection; using System.Text; using WcsMain; using WcsMain.Common; using WcsMain.StartAction; Console.Title = "WCS设备控制系统"; Console.OutputEncoding = Encoding.UTF8; ConsoleLog.DisbleQuickEditMode(); var builder = WebApplication.CreateBuilder(args); // 根据运行环境加载参数 var env = builder.Environment; LoadingRunningData.Loading(env.IsDevelopment()); // 加载系统运行信息,此步骤报错将会产生问题 // Add services to the container. //builder.Services.Replace(ServiceDescriptor.Transient()); builder.Services.AddControllers(options => { //options.Filters.Add(); }).AddJsonOptions(options => { // 修改返回配置,返回原实体类数据 options.JsonSerializerOptions.PropertyNamingPolicy = null; }); // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); builder.Services.AddHostedService(); // 添加跨域,允许任何人访问 builder.Services.AddCors(options => { options.AddPolicy("any", policyBuilder => { policyBuilder.WithOrigins("*").AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader(); }); }); builder.WebHost.UseUrls(CommonData.Settings.UseUrls ?? ["http://*:18990"]); // 地址请在 appSettings.json 里面配置,这里是默认值 // 使用 autoFac 替换注入容器 builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory()); builder.Host.ConfigureContainer(builder => { builder.RegisterModule(); }); var app = builder.Build(); // Configure the HTTP request pipeline. if (app.Environment.IsDevelopment()) { app.UseSwagger(); app.UseSwaggerUI(); } app.UseCors("any"); app.UseAuthorization(); app.MapControllers(); app.Run();