在控制器级别增加.net控制器MaxResponseBufferSize



我读过MaxResponseBufferSize可以在启动时通过以下代码设置

public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.ConfigureKestrel(x => x.Limits.MaxResponseBufferSize = 10485760).UseStartup<Startup>();
});

是否有在启动时设置控制器/动作级别限制的规定?比如在这里添加一些属性

短答:没有.

MaxResponseBufferSize限制是一个独立于HttpContext的底层Kestrel实现细节。它不知道哪个控制器或动作正在执行(或已完成执行),所以你不能在一个动作中调整它的工作方式。

RequestSizeLimitMaxResponseBufferSize不同的可配置原因是默认情况下不读取请求体,除非您隐式地(使用模型绑定[FromBody])或显式地(Request.Body.Read*方法)从请求中读取体流。这发生在端点级别,因此ASP。. NET Core公开了相关的管道,以便在需要时更容易配置。

相关内容

  • 没有找到相关文章

最新更新