在控制器级别增加 .net 控制器 MaxResponseBufferSize
Increase .net controller MaxResponseBufferSize on controller level
我已经阅读过 MaxResponseBufferSize 可以在启动时通过代码
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.ConfigureKestrel(x => x.Limits.MaxResponseBufferSize = 10485760).UseStartup<Startup>();
});
是否有在 controller/action 级别而不是在启动时设置该限制的规定。
就像在某些属性中添加它
简答:否。
MaxResponseBufferSize
限制是独立于 HttpContext
的低级 Kestrel 实现细节。它不知道哪个控制器或动作正在执行(或已完成执行),因此您无法调整它在动作中的工作方式。
RequestSizeLimit
与 MaxResponseBufferSize
不同的原因是,默认情况下不会读取请求主体,除非您隐式(使用模型绑定 [FromBody]
)或显式(Request.Body.Read*
方法)从请求中读取正文流。这发生在端点级别,因此 ASP.NET Core 公开相关管道,以便在需要时更容易配置。
我已经阅读过 MaxResponseBufferSize 可以在启动时通过代码
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.ConfigureKestrel(x => x.Limits.MaxResponseBufferSize = 10485760).UseStartup<Startup>();
});
是否有在 controller/action 级别而不是在启动时设置该限制的规定。 就像在某些属性中添加它
简答:否。
MaxResponseBufferSize
限制是独立于 HttpContext
的低级 Kestrel 实现细节。它不知道哪个控制器或动作正在执行(或已完成执行),因此您无法调整它在动作中的工作方式。
RequestSizeLimit
与 MaxResponseBufferSize
不同的原因是,默认情况下不会读取请求主体,除非您隐式(使用模型绑定 [FromBody]
)或显式(Request.Body.Read*
方法)从请求中读取正文流。这发生在端点级别,因此 ASP.NET Core 公开相关管道,以便在需要时更容易配置。