12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- using Autofac;
- using Autofac.Extensions.DependencyInjection;
- using CSRedis;
- using Microsoft.OpenApi.Models;
- using Serilog;
- using wms.api.autofac;
- using wms.api.Filter;
- using wms.service.mapper;
- var builder = WebApplication.CreateBuilder(args);
- // Add services to the container.
- builder.Services.AddControllers();
- // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
- builder.Services.AddEndpointsApiExplorer();
- builder.Services.AddCors(options =>
- {
- options.AddPolicy(name: "cors", builders => builders.AllowAnyOrigin().AllowAnyHeader().WithMethods("GET", "POST", "HEAD", "PUT", "DELETE", "OPTIONS"));
- });
- builder.Services.AddSwaggerGen(c =>
- {
- c.SwaggerDoc("v1", new OpenApiInfo
- {
- Title = "WMS接口文档",
- Version = "1.0",
- Description = "WMS接口文档"
- });
- var file = Path.Combine(AppContext.BaseDirectory, "wms.api.xml"); // xml文档绝对路径
- var file1 = Path.Combine(AppContext.BaseDirectory, "wms.dto.xml");
- var path = Path.Combine(AppContext.BaseDirectory, file);
- var path1 = Path.Combine(AppContext.BaseDirectory, file1);
- c.IncludeXmlComments(path, true); // true : 显示控制器层注释
- c.IncludeXmlComments(path1, true); // true : 显示dto注释
- c.OrderActionsBy(o => o.RelativePath);
- });
- builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory());
- builder.Host.ConfigureContainer<ContainerBuilder>(containerBuilder =>
- {
- containerBuilder.RegisterModule(new AutofacModuleRegister());
- });
- builder.Host.UseSerilog((context, logger) =>
- {
- logger.ReadFrom.Configuration(context.Configuration);
- logger.Enrich.FromLogContext();
- });
- builder.Services.AddControllersWithViews(options =>
- {
- options.Filters.Add<LogFilter>();
- });
- builder.Services.AddSingleton(new wms.util.AppSettings(builder.Configuration));
- RedisHelper.Initialization(new CSRedisClient(builder.Configuration["CSRedisConnectString"]));
- builder.Services.AddAutoMapper(typeof(WmsPrifile));
- var app = builder.Build();
- // Configure the HTTP request pipeline.
- if (app.Environment.IsDevelopment())
- {
- }
- app.UseSwagger();
- app.UseSwaggerUI();
- //app.UseHttpsRedirection();
- app.UseCors("cors");
- app.UseRouting();
- app.UseAuthorization();
- app.MapControllers();
- app.Run();
|