新增请求大小限制,默认50M

This commit is contained in:
不做码农 2023-12-23 20:26:56 +08:00
parent 24c2cd1cc7
commit 2a3d8bab6c
3 changed files with 40 additions and 2 deletions

View File

@ -0,0 +1,35 @@
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http.Features;
using Microsoft.AspNetCore.Server.Kestrel.Core;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
namespace ZR.Infrastructure.WebExtensions
{
public static class RequestLimitExtension
{
/// <summary>
/// 请求body大小设置
/// </summary>
/// <param name="services"></param>
/// <param name="configuration"></param>
public static void AddRequestLimit(this IServiceCollection services, IConfiguration configuration)
{
var sizeM = configuration.GetSection("upload:requestLimitSize").Get<int>();
services.Configure<FormOptions>(x =>
{
x.MultipartBodyLengthLimit = sizeM * 1024 * 1024;
x.MemoryBufferThreshold = sizeM * 1024 * 1024;
x.ValueLengthLimit = int.MaxValue;
});
services.Configure<KestrelServerOptions>(options =>
{
options.Limits.MaxRequestBodySize = sizeM * 1024 * 1024;
});
services.Configure<IISServerOptions>(options =>
{
options.MaxRequestBodySize = sizeM * 1024 * 1024; // 设置最大请求体大小为500MB
});
}
}
}

View File

@ -47,6 +47,8 @@ builder.Services.AddSingleton(new AppSettings(builder.Configuration));
builder.Services.AddAppService();
//开启计划任务
builder.Services.AddTaskSchedulers();
//请求大小限制
builder.Services.AddRequestLimit(builder.Configuration);
//注册REDIS 服务
var openRedis = builder.Configuration["RedisServer:open"];

View File

@ -39,12 +39,13 @@
"DemoMode": false, //
"SingleLogin": false, ///
"workId": 1, //id
"sqlExecutionTime": 5,//Sql
"sqlExecutionTime": 5, //Sql
"Upload": {
"uploadUrl": "http://localhost:8888", //访
"localSavePath": "", // wwwroot
"maxSize": 15, // 15M
"notAllowedExt": [ ".bat", ".exe", ".jar", ".js" ]
"notAllowedExt": [ ".bat", ".exe", ".jar", ".js" ],
"requestLimitSize": 50//body
},
//
"ALIYUN_OSS": {