delete Startup.cs

This commit is contained in:
不做码农
2022-05-04 19:30:22 +08:00
parent a8f6320e06
commit 7f82a51f77

View File

@@ -1,168 +0,0 @@
using AspNetCoreRateLimit;
using Hei.Captcha;
using Infrastructure;
using Infrastructure.Extensions;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.DataProtection;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using System;
using System.IO;
using System.Threading.Tasks;
using ZR.Admin.WebApi.Extensions;
using ZR.Admin.WebApi.Filters;
using ZR.Admin.WebApi.Framework;
using ZR.Admin.WebApi.Hubs;
using ZR.Admin.WebApi.Middleware;
namespace ZR.Admin.WebApi
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
private NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
string corsUrls = Configuration["corsUrls"];
//<2F><><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>
services.AddCors(c =>
{
c.AddPolicy("Policy", policy =>
{
policy.WithOrigins(corsUrls.Split(',', StringSplitOptions.RemoveEmptyEntries))
.AllowAnyHeader()//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ
.AllowCredentials()//<2F><><EFBFBD><EFBFBD>cookie
.AllowAnyMethod();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2B7BD>
});
});
//ע<><D7A2>SignalRʵʱͨѶ<CDA8><D1B6>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD>json<6F><6E><EFBFBD><EFBFBD>
services.AddSignalR(options =>
{
//<2F>ͻ<EFBFBD><CDBB>˷<EFBFBD><CBB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󵽷<EFBFBD><F3B5BDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB3A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>30<33><EFBFBD>ij<EFBFBD>4<EFBFBD><34><EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>connection.keepAliveIntervalInMilliseconds = 12e4;<3B><>2<EFBFBD><32><EFBFBD><EFBFBD>
//options.ClientTimeoutInterval = TimeSpan.FromMinutes(4);
//<2F><><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><CBB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󵽿ͻ<F3B5BDBF><CDBB>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>15<31><EFBFBD>ij<EFBFBD>2<EFBFBD><32><EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>connection.serverTimeoutInMilliseconds = 24e4;<3B><>4<EFBFBD><34><EFBFBD><EFBFBD>
//options.KeepAliveInterval = TimeSpan.FromMinutes(2);
});
//<2F><><EFBFBD><EFBFBD>Error unprotecting the session cookie<69><65><EFBFBD><EFBFBD>
services.AddDataProtection()
.PersistKeysToFileSystem(new DirectoryInfo(Directory.GetCurrentDirectory() + Path.DirectorySeparatorChar + "DataProtection"));
//<2F><>ͨ<EFBFBD><CDA8>֤<EFBFBD><D6A4>
services.AddHeiCaptcha();
services.AddIPRate(Configuration);
services.AddSession();
services.AddMemoryCache();
services.AddHttpContextAccessor();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Model<65><6C>
services.Configure<OptionsSetting>(Configuration);
//jwt <20><>֤
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddCookie()
.AddJwtBearer(o =>
{
o.TokenValidationParameters = JwtUtil.ValidParameters();
});
InjectServices(services, Configuration);
services.AddMvc(options =>
{
options.Filters.Add(typeof(GlobalActionMonitor));//ȫ<><C8AB>ע<EFBFBD><D7A2>
})
.AddJsonOptions(options =>
{
options.JsonSerializerOptions.Converters.Add(new JsonConverterUtil.DateTimeConverter());
options.JsonSerializerOptions.Converters.Add(new JsonConverterUtil.DateTimeNullConverter());
});
services.AddSwaggerConfig();
}
// 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.UseSwagger();
//ʹ<><CAB9><EFBFBD>Զ<EFBFBD><D4B6>ζ<EFBFBD>ȥbody<64><79><EFBFBD><EFBFBD>
app.Use((context, next) =>
{
context.Request.EnableBuffering();
if (context.Request.Query.TryGetValue("access_token", out var token))
{
context.Request.Headers.Add("Authorization", $"Bearer {token}");
}
return next();
});
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>̬<EFBFBD>ļ<EFBFBD>/wwwrootĿ¼<C4BF>ļ<EFBFBD><C4BC><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>UseRoutingǰ<67><C7B0>
app.UseStaticFiles();
//<2F><><EFBFBD><EFBFBD>·<EFBFBD>ɷ<EFBFBD><C9B7><EFBFBD>
app.UseRouting();
app.UseCors("Policy");//Ҫ<><D2AA><EFBFBD><EFBFBD>app.UseEndpointsǰ<73><C7B0>
//app.UseAuthentication<6F><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Authentication<6F>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>ǰHttp<74><70><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Cookie<69><65>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>HttpContext.User<65><72><EFBFBD>ԣ<EFBFBD><D4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>app.UseAuthentication<6F><6E><EFBFBD><EFBFBD>֮<EFBFBD><D6AE>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܹ<EFBFBD><DCB9><EFBFBD>HttpContext.User<65>ж<EFBFBD>ȡ<EFBFBD><C8A1>ֵ<EFBFBD><D6B5>
//<2F><>Ҳ<EFBFBD><D2B2>Ϊʲô<CAB2><C3B4><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF>app.UseAuthentication<6F><6E><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>app.UseMvc<76><63><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><E6A3AC>Ϊֻ<CEAA><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ASP.NET Core<72><65>MVC<56>м<EFBFBD><D0BC><EFBFBD><EFBFBD>в<EFBFBD><D0B2>ܶ<EFBFBD>ȡ<EFBFBD><C8A1>HttpContext.User<65><72>ֵ<EFBFBD><D6B5>
//1.<2E>ȿ<EFBFBD><C8BF><EFBFBD><EFBFBD><EFBFBD>֤
app.UseAuthentication();
//2.<2E>ٿ<EFBFBD><D9BF><EFBFBD><EFBFBD><EFBFBD>Ȩ
app.UseAuthorization();
//<2F><><EFBFBD><EFBFBD>session
//app.UseSession();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
app.UseResponseCaching();
//<2F>ָ<EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
app.UseAddTaskSchedulers();
//ʹ<><CAB9>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD>
app.UseMiddleware<GlobalExceptionMiddleware>();
//<2F><><EFBFBD>ÿͻ<C3BF><CDBB><EFBFBD>IP<49><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
app.UseIpRateLimiting();
app.UseEndpoints(endpoints =>
{
//<2F><><EFBFBD><EFBFBD>socket<65><74><EFBFBD><EFBFBD>
endpoints.MapHub<MessageHub>("/msgHub");
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
/// <summary>
/// ע<><D7A2>Services<65><73><EFBFBD><EFBFBD>
/// </summary>
/// <param name="services"></param>
/// <param name="configuration"></param>
private void InjectServices(IServiceCollection services, IConfiguration configuration)
{
services.AddAppService();
services.AddSingleton(new AppSettings(configuration));
//<2F><><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD>
services.AddTaskSchedulers();
//<2F><>ʼ<EFBFBD><CABC>db
DbExtension.AddDb(configuration);
//ע<><D7A2>REDIS <20><><EFBFBD><EFBFBD>
Task.Run(() =>
{
//RedisServer.Initalize();
});
}
}
}