在我们的ASP.NET Core 2.0应用程序中,我们希望为大多数用户提供一个X的RequestSizeLimit
,但对于一些特殊用户,我们希望将其提升到更高的值Y> X.
即我们今天有这个:
[HttpPost("files")]
[RequestSizeLimit(100_000_000)]
public async Task<ActionResult> Upload(string uploadId, IFormCollection formData)
{
/* Action body */
}
但我们希望为某些特定用户应用更高的大小限制。
如何才能做到这一点?
该应用程序在IIS中以反向代理设置方式托管。
你应该编写自己的属性和过滤器。尝试检入它,哪个用户被授权,然后检查请求大小(您可以通过检查HttpContext
来实现)。你可以通过实现自己的IAsyncActionFilter
来实现它。