ASP.NET Core Kestrel RequestSizeLimit是否针对不同用户?

时间:2019-04-09 07:33:55

标签: c# asp.net-core httprequest size kestrel-http-server

在我们的ASP.NET Core 2.0应用中,我们希望大多数用户使用RequestSizeLimit的X,但是对于某些特殊用户,我们希望将其提高到更高的值Y>X。 / p>

即今天有这个:

[HttpPost("files")]
[RequestSizeLimit(100_000_000)]
public async Task<ActionResult> Upload(string uploadId, IFormCollection formData)
{
    /* Action body */
}

但是我们想对某些特定用户应用更大的大小限制。

这怎么办?

该应用程序通过反向代理设置托管在IIS后面。

1 个答案:

答案 0 :(得分:1)

您应该编写自己的属性和过滤器。尝试签入哪个用户被授权,然后检查请求大小(您可以通过选中HttpContext来实现)。您可以通过实现自己的IAsyncActionFilter来实现。