123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- using Autofac;
- using AutoMapper;
- using Bozhon.Wms.Api.Extensions;
- using Microsoft.AspNetCore.Builder;
- using Microsoft.AspNetCore.Hosting;
- using Microsoft.Extensions.Configuration;
- using Microsoft.Extensions.DependencyInjection;
- using Microsoft.Extensions.Hosting;
- using Microsoft.OpenApi.Models;
- using SqlSugar;
- using System;
- using System.IO;
- using System.Reflection;
- using Wms.Screen.Api.Extensions;
- using Wms.Screen.Service.Mapper;
- using Wms.Screen.SqlSugar;
- namespace Wms.Screen.Api
- {
- public class Startup
- {
- public Startup(IConfiguration configuration)
- {
- Configuration = configuration;
- }
- public IConfiguration Configuration { get; }
- public void ConfigureServices(IServiceCollection services)
- {
- services.AddCors(options =>
- {
- options.AddPolicy(name: "cors",
- builder =>
- builder.AllowAnyOrigin()
- .AllowAnyHeader()
- .WithMethods("GET", "POST", "HEAD", "PUT", "DELETE", "OPTIONS")
- );
- });
- // 注册Swagger服务
- services.AddSwaggerGen(c =>
- {
- // 添加文档信息
- c.SwaggerDoc("v1", new OpenApiInfo
- {
- Title = "接口文档",
- Version = "v1.0.0",
- Description = "中天WMS 看板接口",
- });
- // 使用反射获取xml文件。并构造出文件的路径
- var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
- var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
- // 启用xml注释. 该方法第二个参数启用控制器的注释,默认为false.
- c.IncludeXmlComments(xmlPath, true);
- });
- var sqlSugarConfig = SqlSugarConfig.GetConnectionString(Configuration);
- services.AddSqlSugarClient<SqlSugarClient>(config =>
- {
- config.ConnectionString = sqlSugarConfig.Item2;
- config.DbType = sqlSugarConfig.Item1;
- config.IsAutoCloseConnection = true;
- config.InitKeyType = InitKeyType.Attribute;
- //config.IsShardSameThread = true;
- });
- services.AddAutoMapper(typeof(MyProfile));
- services.AddCSRedisCache(Configuration);
- services.AddHostedService<HostedServiceExtension>();
- services.AddControllers();
- }
- // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
- public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
- {
- if (env.IsDevelopment())
- {
- app.UseDeveloperExceptionPage();
- }
- app.UseHttpsRedirection();
- // 启用Swagger中间件
- app.UseSwagger();
- // 配置SwaggerUI
- app.UseSwaggerUI(c =>
- {
- c.SwaggerEndpoint("/swagger/v1/swagger.json", "1.0.0");
- c.RoutePrefix = string.Empty;
- });
- app.UseRouting();
- app.UseCors("cors");
- app.UseAuthorization();
- //DefaultFilesOptions defaultFilesOptions = new DefaultFilesOptions();
- //defaultFilesOptions.DefaultFileNames.Clear();
- //defaultFilesOptions.DefaultFileNames.Add("index.html");
- //app.UseDefaultFiles(defaultFilesOptions);
- //StaticFileOptions staticFileOptions = new StaticFileOptions();
- //staticFileOptions.FileProvider = new Microsoft.Extensions.FileProviders.PhysicalFileProvider(@"E:\code\screen\Wms.Screen.Api\Wms.Screen.Api\bin\Debug\netcoreapp3.1\publish\wwwroot\");
- //staticFileOptions.FileProvider = new Microsoft.Extensions.FileProviders.PhysicalFileProvider(@"D:\IIS\KANBAN\wwwroot\");
- //staticFileOptions.FileProvider = new Microsoft.Extensions.FileProviders.PhysicalFileProvider(@"D:\BZ\KANBAN\wwwroot\");
- //staticFileOptions.FileProvider = new Microsoft.Extensions.FileProviders.PhysicalFileProvider(@"C:\iis\KOHLER_KANBAN\wwwroot\");
- //app.UseStaticFiles(staticFileOptions);//开启静态文件
- app.UseEndpoints(endpoints =>
- {
- endpoints.MapControllers();
- });
- }
- public void ConfigureContainer(ContainerBuilder builder)
- {
- //添加依赖注入关系
- builder.RegisterModule(new AutofacModuleRegister());
- }
- }
- }
|