You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
2.7 KiB
C#
81 lines
2.7 KiB
C#
using Autofac;
|
|
using Autofac.Extensions.DependencyInjection;
|
|
using DS.Module.AutofacModule;
|
|
using DS.Module.Core;
|
|
using DS.Module.Core.Extensions;
|
|
using DS.Module.Core.Middlewares;
|
|
using DS.Module.Core.ServiceExtensions;
|
|
using DS.Module.ExcelModule;
|
|
using DS.Module.Jwt;
|
|
using DS.Module.MultiLanguage;
|
|
using DS.Module.RedisModule;
|
|
using DS.Module.SqlSugar;
|
|
using DS.Module.Swagger;
|
|
using DS.Module.UserModule;
|
|
using NLog.Web;
|
|
using Swashbuckle.AspNetCore.SwaggerUI;
|
|
|
|
var builder = WebApplication.CreateBuilder(args);
|
|
var environment = builder.Environment.EnvironmentName;
|
|
Console.WriteLine("当前开发环境:" + environment);
|
|
//注册配置
|
|
builder.Configuration
|
|
// .SetBasePath(builder.Environment.ContentRootPath)
|
|
.AddJsonFile(path: "appsettings.json", optional: false, reloadOnChange: true)
|
|
// .AddJsonFile(path: $"appsettings.{environment}.json", optional: true, reloadOnChange: true)
|
|
.Build();
|
|
builder.Configuration.AddEnvironmentVariables();
|
|
builder.Logging.AddNLog("nlog.config");
|
|
// Add services to the container.
|
|
//Autofac注入
|
|
builder.Host
|
|
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
|
|
.ConfigureContainer<ContainerBuilder>(builder => { builder.RegisterModule(new AutofacModuleRegister()); });
|
|
|
|
builder.Services.AddAppWebInstal();
|
|
builder.Services.AddCorsInstall();
|
|
builder.Services.AddUserModuleInstall(); //用户服务
|
|
builder.Services.AddRedisModuleInstall();
|
|
builder.Services.AddSqlSugarInstall();
|
|
builder.Services.AddSwaggerInstall();
|
|
builder.Services.AddJwtInstall();
|
|
builder.Services.AddSaasDbInstall();//分库服务
|
|
builder.Services.AddMultiLanguageInstall();//多语言服务
|
|
// builder.Services.AddEndpointsApiExplorer();
|
|
// builder.Services.AddSwaggerGen();
|
|
|
|
var app = builder.Build();
|
|
|
|
app.UsePublicMiddlewares();
|
|
//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" }));
|
|
// c.DocExpansion(DocExpansion.None);//DocExpansion设置为None可折叠所有方法
|
|
// c.DefaultModelExpandDepth(-1);//-1 可不显示Models
|
|
// });
|
|
////跨域
|
|
//var policyName = AppSetting.app(new string[] { "Cors", "PolicyName" });
|
|
//if (!policyName.IsNullOrEmpty())
|
|
//{
|
|
// app.UseCors(policyName); //添加跨域中间件
|
|
//}
|
|
|
|
//app.UseRouting();
|
|
|
|
//app.UseStaticFiles();
|
|
////多语言中间件
|
|
//app.UseMiddleware<MultiLanguageMiddleware>();
|
|
//// //操作日志中间件
|
|
//// app.UseMiddleware<OperationLogMiddleware>();
|
|
|
|
//// 先开启认证
|
|
//app.UseAuthentication();
|
|
//// 然后是授权中间件
|
|
//app.UseAuthorization();
|
|
//app.UseEndpoints(endpoints => { endpoints.MapControllers(); });
|
|
|
|
app.Run(); |