using Autofac; using Autofac.Extensions.DependencyInjection; using DS.Module.AutofacModule; using DS.Module.Core; using DS.Module.Core.Extensions; using DS.Module.Core.ServiceExtensions; using DS.Module.Jwt; using DS.Module.MultiLanguage; using DS.Module.SqlSugar; using DS.Module.Swagger; using DS.Module.UserModule; using DS.WMS.AdminApi; using NLog.Web; var builder = WebApplication.CreateBuilder(args); var environment = builder.Environment.EnvironmentName; //注册配置 builder.Configuration .AddJsonFile(path: "appsettings.json", optional: false, reloadOnChange: true) .Build(); builder.Configuration.AddEnvironmentVariables(); builder.Logging.AddNLog("nlog.config"); // Add services to the container. //Autofac注入 builder.Host .UseServiceProviderFactory(new AutofacServiceProviderFactory()) .ConfigureContainer(builder => { builder.RegisterModule(new AutofacModuleRegister()); }); builder.Services.AddAppWebInstal(); builder.Services.AddCorsInstall(); builder.Services.AddUserModuleInstall(); //用户服务 builder.Services.AddSqlsugarInstall(); builder.Services.AddSwaggerInstall(); builder.Services.AddJwtInstall(); builder.Services.AddSaasDbInstall();//分库服务 builder.Services.AddMultiLanguageInstall();//多语言服务 var app = builder.Build(); // Configure the HTTP request pipeline. // if (app.Environment.IsDevelopment()) // { // app.UseSwagger(); // app.UseSwaggerUI(); // } //swagger // app.UseSwagger(); var documentName = AppSetting.app(new string[] { "SwaggerDoc", "ContactName" }); app .UseSwagger(c => { c.RouteTemplate = "{documentName}/swagger.json"; }) .UseSwaggerUI(c => { c.SwaggerEndpoint("/" + documentName + "/swagger.json", AppSetting.app(new string[] { "SwaggerDoc", "ContactName" })); }); //跨域 var policyName =AppSetting.app(new string[] { "Cors", "PolicyName" }); if (!policyName.IsNullOrEmpty()) { app.UseCors(policyName); //添加跨域中间件 } app.UseRouting(); app.UseStaticFiles(); //多语言中间件 app.UseMiddleware(); // 先开启认证 app.UseAuthentication(); // 然后是授权中间件 app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); app.Run();