在控制器级别增加 .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 实现细节。它不知道哪个控制器或动作正在执行(或已完成执行),因此您无法调整它在动作中的工作方式。

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