using System; using System.Collections.Generic; using System.ServiceModel; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Rewrite; using Microsoft.AspNetCore.StaticFiles; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.FileProviders; using Microsoft.Extensions.Hosting; using System.Text; using System.Linq; using Microsoft.AspNetCore.Mvc.Razor; namespace MySystem { public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllersWithViews(); services.AddRouting(options => { options.LowercaseUrls = true; }); services.AddSingleton(); // services.AddCors(option => option.AddPolicy("cors", policy => policy.AllowAnyHeader().AllowAnyMethod().AllowCredentials().SetIsOriginAllowed(_ => true))); services.AddMvc(options => { options.EnableEndpointRouting = false; options.Filters.Add(typeof(GlobalExceptionsFilter)); }); //配置模版视图路径 services.Configure(options => { options.ViewLocationExpanders.Add(new TemplateViewLocationExpander()); }); services.AddSession(options => { // 设置 Session 过期时间 options.IdleTimeout = TimeSpan.FromHours(1); options.Cookie.HttpOnly = true; }); services.Configure(x => { x.MultipartBodyLengthLimit = 50 * 1024 * 1024;//不到300M }); //生成密钥 MySystemLib.SystemPublicFuction.appcheck = "success"; RedisDbconn.csredis = new CSRedis.CSRedisClient(Configuration["Setting:RedisConnStr"]); } // 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(); Library.ConfigurationManager.EnvironmentFlag = 1; } else { app.UseExceptionHandler("/Home/Error"); app.UseHsts(); Library.ConfigurationManager.EnvironmentFlag = 2; } Library.function.WritePage("/", "WebRootPath.txt", env.WebRootPath); app.UseStaticFiles(); app.UseStaticFiles(new StaticFileOptions { ContentTypeProvider = new FileExtensionContentTypeProvider(new Dictionary { { ".apk", "application/vnd.android.package-archive" } }) }); app.UseCors("cors"); app.UseAuthentication(); app.UseRouting(); app.UseAuthorization(); app.UseSession(); app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{Id?}"); }); StartHelper.Instance.Start(); //开启线程 } } }