mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 18:03:27 +08:00
【修复】修复项目多个文件编码为gb2312,导致vs code或者mac下出现乱码的情况。
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using Autofac.Extensions.DependencyInjection;
|
||||
using Autofac.Extensions.DependencyInjection;
|
||||
using CoreCms.Net.Loging;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
@@ -11,12 +11,12 @@ using System;
|
||||
namespace CoreCms.Net.Web.Admin
|
||||
{
|
||||
/// <summary>
|
||||
/// <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
|
||||
/// 初始化
|
||||
/// </summary>
|
||||
public class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// 启动配置
|
||||
/// </summary>
|
||||
/// <param name="args"></param>
|
||||
public static void Main(string[] args)
|
||||
@@ -24,24 +24,24 @@ namespace CoreCms.Net.Web.Admin
|
||||
var host = CreateHostBuilder(args).Build();
|
||||
try
|
||||
{
|
||||
//ȷ<EFBFBD><EFBFBD>NLog.config<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>appsettings.json<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>
|
||||
//确保NLog.config中连接字符串与appsettings.json中同步
|
||||
NLogUtil.EnsureNlogConfig("NLog.config");
|
||||
//throw new Exception("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣");//for test
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NLogUtil.WriteAll(NLog.LogLevel.Trace, LogType.Web, "<EFBFBD><EFBFBD>վ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "<EFBFBD><EFBFBD>վ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>");
|
||||
//throw new Exception("测试异常");//for test
|
||||
//其他项目启动时需要做的事情
|
||||
NLogUtil.WriteAll(NLog.LogLevel.Trace, LogType.Web, "网站启动", "网站启动成功");
|
||||
|
||||
host.Run();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//ʹ<EFBFBD><EFBFBD>nlogд<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD>ӳɹ<D3B3><C9B9><EFBFBD>
|
||||
NLogUtil.WriteFileLog(NLog.LogLevel.Error, LogType.Web, "<EFBFBD><EFBFBD>վ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣", ex);
|
||||
//使用nlog写到本地日志文件(万一数据库没创建/连接成功)
|
||||
NLogUtil.WriteFileLog(NLog.LogLevel.Error, LogType.Web, "网站启动", "初始化数据异常", ex);
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD>
|
||||
/// 创建启动支撑
|
||||
/// </summary>
|
||||
/// <param name="args"></param>
|
||||
/// <returns></returns>
|
||||
@@ -50,8 +50,8 @@ namespace CoreCms.Net.Web.Admin
|
||||
.UseServiceProviderFactory(new AutofacServiceProviderFactory()) //<--NOTE THIS
|
||||
.ConfigureLogging(logging =>
|
||||
{
|
||||
logging.ClearProviders(); //<EFBFBD>Ƴ<EFBFBD><EFBFBD>Ѿ<EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
logging.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace); //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
logging.ClearProviders(); //移除已经注册的其他日志处理程序
|
||||
logging.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace); //设置最小的日志级别
|
||||
})
|
||||
.UseNLog() //NLog: Setup NLog for Dependency injection
|
||||
.ConfigureWebHostDefaults(webBuilder =>
|
||||
@@ -59,7 +59,7 @@ namespace CoreCms.Net.Web.Admin
|
||||
webBuilder
|
||||
.ConfigureKestrel(serverOptions =>
|
||||
{
|
||||
serverOptions.AllowSynchronousIO = true;//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD> IO
|
||||
serverOptions.AllowSynchronousIO = true;//启用同步 IO
|
||||
})
|
||||
.UseStartup<Startup>();
|
||||
});
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
|
||||
|
||||
using System.Linq;
|
||||
using Autofac;
|
||||
using CoreCms.Net.Auth;
|
||||
@@ -30,12 +30,12 @@ using Yitter.IdGenerator;
|
||||
namespace CoreCms.Net.Web.Admin
|
||||
{
|
||||
/// <summary>
|
||||
/// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// 启动配置
|
||||
/// </summary>
|
||||
public class Startup
|
||||
{
|
||||
/// <summary>
|
||||
/// <EFBFBD><EFBFBD><EFBFBD>캯<EFBFBD><EFBFBD>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="configuration"></param>
|
||||
/// <param name="env"></param>
|
||||
@@ -59,108 +59,108 @@ namespace CoreCms.Net.Web.Admin
|
||||
/// <param name="services"></param>
|
||||
public void ConfigureServices(IServiceCollection services)
|
||||
{
|
||||
//<EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ֧<EFBFBD><EFBFBD>
|
||||
//添加本地路径获取支持
|
||||
services.AddSingleton(new AppSettingsHelper(Env.ContentRootPath));
|
||||
services.AddSingleton(new LogLockHelper(Env.ContentRootPath));
|
||||
|
||||
//Memory<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//Memory缓存
|
||||
services.AddMemoryCacheSetup();
|
||||
//Redis<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//Redis缓存
|
||||
services.AddRedisCacheSetup();
|
||||
|
||||
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SqlSugarע<EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD>
|
||||
//添加数据库连接SqlSugar注入支持
|
||||
services.AddSqlSugarSetup();
|
||||
//<EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CORS<EFBFBD><EFBFBD>
|
||||
//配置跨域(CORS)
|
||||
services.AddCorsSetup();
|
||||
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>session֧<EFBFBD><EFBFBD>(session<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>cache<EFBFBD><EFBFBD><EFBFBD>д洢)
|
||||
//添加session支持(session依赖于cache进行存储)
|
||||
services.AddSession();
|
||||
// AutoMapper֧<EFBFBD><EFBFBD>
|
||||
// AutoMapper支持
|
||||
services.AddAutoMapper(typeof(AutoMapperConfiguration));
|
||||
|
||||
//ʹ<EFBFBD><EFBFBD> SignalR
|
||||
//使用 SignalR
|
||||
services.AddSignalR();
|
||||
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Payment <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>(֧<><D6A7><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>/<><CEA2>֧<EFBFBD><D6A7>)
|
||||
// 引入Payment 依赖注入(支付宝支付/微信支付)
|
||||
services.AddAlipay();
|
||||
services.AddWeChatPay();
|
||||
|
||||
// <EFBFBD><EFBFBD> appsettings.json <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>
|
||||
//ע<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>潫ȡ<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>Paylink<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD>߽ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD>崦<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// 在 appsettings.json 中 配置选项
|
||||
//注册自定义的支付配置文件,后面将取消使用Paylink,直接走接口请求自定义处理。
|
||||
services.Configure<WeChatPayOptions>(Configuration.GetSection("WeChatPay"));
|
||||
services.Configure<AlipayOptions>(Configuration.GetSection("Alipay"));
|
||||
|
||||
//ע<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Žӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||
//注册自定义微信接口配置文件
|
||||
services.Configure<WeChat.Service.Options.WeChatOptions>(Configuration.GetSection(nameof(WeChat.Service.Options.WeChatOptions)));
|
||||
|
||||
// ע<EFBFBD>빤<EFBFBD><EFBFBD> HTTP <EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD>
|
||||
// 注入工厂 HTTP 客户端
|
||||
services.AddHttpClient();
|
||||
services.AddSingleton<WeChat.Service.HttpClients.IWeChatApiHttpClientFactory, WeChat.Service.HttpClients.WeChatApiHttpClientFactory>();
|
||||
|
||||
//<EFBFBD><EFBFBD><EFBFBD>ÿͻ<EFBFBD><EFBFBD><EFBFBD>IP<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//启用客户端IP限制速率
|
||||
services.AddIpPolicyRateLimitSetup(Configuration);
|
||||
|
||||
//Swagger<EFBFBD>ӿ<EFBFBD><EFBFBD>ĵ<EFBFBD>ע<EFBFBD><EFBFBD>
|
||||
//Swagger接口文档注入
|
||||
services.AddAdminSwaggerSetup();
|
||||
|
||||
//jwt<EFBFBD><EFBFBD>Ȩ֧<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
|
||||
//jwt授权支持注入
|
||||
services.AddAuthorizationSetupForAdmin();
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
|
||||
//上下文注入
|
||||
services.AddHttpContextSetup();
|
||||
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><EFBFBD><EFBFBD>AutoFac<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>滻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//服务配置中加入AutoFac控制器替换规则。
|
||||
services.Replace(ServiceDescriptor.Transient<IControllerActivator, ServiceBasedControllerActivator>());
|
||||
|
||||
//ע<EFBFBD><EFBFBD>mvc<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>razor<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ
|
||||
//注册mvc,注册razor引擎视图
|
||||
services.AddMvc(options =>
|
||||
{
|
||||
//ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤
|
||||
//实体验证
|
||||
options.Filters.Add<RequiredErrorForAdmin>();
|
||||
//<EFBFBD>쳣<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//异常处理
|
||||
options.Filters.Add<GlobalExceptionsFilterForAdmin>();
|
||||
//Swagger<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>apiչʾ<EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
||||
//Swagger剔除不需要加入api展示的列表
|
||||
options.Conventions.Add(new ApiExplorerIgnores());
|
||||
|
||||
options.EnableEndpointRouting = false;
|
||||
})
|
||||
.AddNewtonsoftJson(p =>
|
||||
{
|
||||
//<EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸСд <20><>ʹ<EFBFBD><CAB9><EFBFBD>շ<EFBFBD>
|
||||
//数据格式首字母小写 不使用驼峰
|
||||
p.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
|
||||
//<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD>շ<EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>key
|
||||
//不使用驼峰样式的key
|
||||
//p.SerializerSettings.ContractResolver = new DefaultContractResolver();
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//忽略循环引用
|
||||
p.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
||||
//设置时间格式
|
||||
p.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
|
||||
});
|
||||
|
||||
|
||||
// ѩ<EFBFBD><EFBFBD>Ư<EFBFBD><EFBFBD><EFBFBD>㷨
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> IdGeneratorOptions <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڹ<EFBFBD><EFBFBD>캯<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WorkerId<EFBFBD><EFBFBD>
|
||||
// 雪花漂移算法
|
||||
// 创建 IdGeneratorOptions 对象,请在构造函数中输入 WorkerId:
|
||||
var options = new IdGeneratorOptions(1);
|
||||
// WorkerIdBitLength Ĭ<EFBFBD><EFBFBD>ֵ6<EFBFBD><EFBFBD>֧<EFBFBD>ֵ<EFBFBD> WorkerId <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵΪ2^6-1<EFBFBD><EFBFBD><EFBFBD><EFBFBD> WorkerId <EFBFBD><EFBFBD><EFBFBD><EFBFBD>64<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WorkerIdBitLength
|
||||
// WorkerIdBitLength 默认值6,支持的 WorkerId 最大值为2^6-1,若 WorkerId 超过64,可设置更大的 WorkerIdBitLength
|
||||
// options.WorkerIdBitLength = 10;
|
||||
// ...... <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>òο<EFBFBD> IdGeneratorOptions <EFBFBD><EFBFBD><EFBFBD>壬һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>ֻҪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WorkerIdBitLength <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WorkerId <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// ...... 其它参数设置参考 IdGeneratorOptions 定义,一般来说,只要再设置 WorkerIdBitLength (决定 WorkerId 的最大值)。
|
||||
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// 保存参数(必须的操作,否则以上设置都不能生效):
|
||||
YitIdHelper.SetIdGenerator(options);
|
||||
|
||||
// <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<EFBFBD>ĵط<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// 初始化以后,即可在任何需要生成ID的地方,调用以下方法:
|
||||
//var newId = YitIdHelper.NextId();
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Autofac<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// Autofac规则配置
|
||||
/// </summary>
|
||||
/// <param name="builder"></param>
|
||||
public void ConfigureContainer(ContainerBuilder builder)
|
||||
{
|
||||
builder.RegisterModule(new AutofacModuleRegister());
|
||||
|
||||
//<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
|
||||
//获取所有控制器类型并使用属性注入
|
||||
var controllerBaseType = typeof(ControllerBase);
|
||||
builder.RegisterAssemblyTypes(typeof(Program).Assembly)
|
||||
.Where(t => controllerBaseType.IsAssignableFrom(t) && t != controllerBaseType)
|
||||
@@ -174,20 +174,20 @@ namespace CoreCms.Net.Web.Admin
|
||||
/// <param name="env"></param>
|
||||
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
|
||||
{
|
||||
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ubuntu Nginx <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܻ<EFBFBD>ȡIP<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#region 解决Ubuntu Nginx 代理不能获取IP问题
|
||||
app.UseForwardedHeaders(new ForwardedHeadersOptions
|
||||
{
|
||||
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
|
||||
});
|
||||
#endregion
|
||||
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ip<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// 开启Ip限流
|
||||
app.UseIpLimitMiddle();
|
||||
// <EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뷵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (ע<><EFBFBD><E2BFAA>Ȩ<EFBFBD>ޣ<EFBFBD><DEA3><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>)
|
||||
// 记录请求与返回数据 (注意开启权限,不然本地无法写入)
|
||||
app.UseRequestResponseLog();
|
||||
// <EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD>¼(<28><><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD>㣬<EFBFBD><E3A3AC>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣<EFBFBD><ECB3A3><EFBFBD>ᱨ<EFBFBD><E1B1A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD><EFBFBD><EFBFBD>)(ע<><EFBFBD><E2BFAA>Ȩ<EFBFBD>ޣ<EFBFBD><DEA3><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>)
|
||||
// 用户访问记录(必须放到外层,不然如果遇到异常,会报错,因为不能返回流)(注意开启权限,不然本地无法写入)
|
||||
app.UseRecordAccessLogsMildd(GlobalEnumVars.CoreShopSystemCategory.Admin.ToString());
|
||||
// <EFBFBD><EFBFBD>¼ip<EFBFBD><EFBFBD><EFBFBD><EFBFBD> (ע<><EFBFBD><E2BFAA>Ȩ<EFBFBD>ޣ<EFBFBD><DEA3><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>)
|
||||
// 记录ip请求 (注意开启权限,不然本地无法写入)
|
||||
app.UseIpLogMildd();
|
||||
// signalr
|
||||
app.UseSignalRSendMildd();
|
||||
@@ -195,7 +195,7 @@ namespace CoreCms.Net.Web.Admin
|
||||
|
||||
app.UseSwagger().UseSwaggerUI(c =>
|
||||
{
|
||||
//<EFBFBD><EFBFBD><EFBFBD>ݰ汾<EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>չʾ
|
||||
//根据版本名称倒序 遍历展示
|
||||
typeof(CustomApiVersion.ApiVersions).GetEnumNames().OrderByDescending(e => e).ToList().ForEach(
|
||||
version =>
|
||||
{
|
||||
@@ -204,12 +204,12 @@ namespace CoreCms.Net.Web.Admin
|
||||
c.RoutePrefix = "doc";
|
||||
});
|
||||
|
||||
//ʹ<EFBFBD><EFBFBD> Session
|
||||
//使用 Session
|
||||
app.UseSession();
|
||||
|
||||
if (env.IsDevelopment())
|
||||
{
|
||||
// <EFBFBD>ڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD>쳣ҳ<EFBFBD>棬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>¶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// 在开发环境中,使用异常页面,这样可以暴露错误堆栈信息,所以不要放在生产环境。
|
||||
app.UseDeveloperExceptionPage();
|
||||
}
|
||||
else
|
||||
@@ -219,21 +219,21 @@ namespace CoreCms.Net.Web.Admin
|
||||
app.UseHsts();
|
||||
}
|
||||
|
||||
// CORS<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// CORS跨域
|
||||
app.UseCors(AppSettingsConstVars.CorsPolicyName);
|
||||
// <EFBFBD><EFBFBD>תhttps
|
||||
// 跳转https
|
||||
//app.UseHttpsRedirection();
|
||||
// ʹ<EFBFBD>þ<EFBFBD>̬<EFBFBD>ļ<EFBFBD>
|
||||
// 使用静态文件
|
||||
app.UseStaticFiles();
|
||||
// ʹ<EFBFBD><EFBFBD>cookie
|
||||
// 使用cookie
|
||||
app.UseCookiePolicy();
|
||||
// <EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// 返回错误码
|
||||
app.UseStatusCodePages();
|
||||
// Routing
|
||||
app.UseRouting();
|
||||
// <EFBFBD>ȿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤
|
||||
// 先开启认证
|
||||
app.UseAuthentication();
|
||||
// Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD>м<EFBFBD><EFBFBD><EFBFBD>
|
||||
// 然后是授权中间件
|
||||
app.UseAuthorization();
|
||||
app.UseEndpoints(endpoints =>
|
||||
{
|
||||
@@ -247,8 +247,8 @@ namespace CoreCms.Net.Web.Admin
|
||||
"{controller=Home}/{action=Index}/{id?}");
|
||||
});
|
||||
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>default.html<EFBFBD><EFBFBD>
|
||||
//<EFBFBD>˴<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>wwwroot<EFBFBD>ļ<EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>
|
||||
//设置默认起始页(如default.html)
|
||||
//此处的路径是相对于wwwroot文件夹的相对路径
|
||||
var defaultFilesOptions = new DefaultFilesOptions();
|
||||
defaultFilesOptions.DefaultFileNames.Clear();
|
||||
defaultFilesOptions.DefaultFileNames.Add("index.html");
|
||||
|
||||
Reference in New Issue
Block a user