RequestSizeLimit(100_000_000) 在 IIS 上不起作用
Posted
技术标签:
【中文标题】RequestSizeLimit(100_000_000) 在 IIS 上不起作用【英文标题】:RequestSizeLimit(100_000_000) not working on IIS 【发布时间】:2021-12-16 07:42:53 【问题描述】:我有一个使用 .net 5.0 的休息 API。我想在一个端点中使用 [RequestSizeLimit(100_000_000)]。使用 Kestrel 时它可以工作,但我想在 IIS 中使用它。我错过了什么?重要提示:我的项目没有web.config
!这里没有显示任何解决方案:Increase upload file size in Asp.Net core 解决了我的问题。
【问题讨论】:
如果您没有web.config
,那么您应该添加它。没有那个,当你甚至没有尝试解决方案时,你怎么能说“没有一个解决方案......解决了我的问题”?您必须通过 web.config
或 applicationHost.config
配置 IIS 以允许大负载,因为在 IIS 上托管 ASP.NET Core 需要额外的配置。
@LexLi 我尝试了所有解决方案,但没有一个对我有用。我只想在一个端点上增加 requestsizelimit,而不是在所有项目上。 RequestSizeLimit 仅适用于 Kestrel,但此项目使用 IIS 托管。
【参考方案1】:
RequestSizeLimit
属性允许您在代码中定义最大请求大小,但它仍然受到服务器本身支持的最大请求大小的限制,因此您可以尝试通过 maxAllowedContentLength
属性设置请求大小iis.
您可以尝试创建一个包含以下内容的 web.config 文件:
<system.webServer>
<security>
<requestFiltering>
<!-- This will handle requests up to 50MB -->
<requestLimits maxAllowedContentLength="52428800" />
</requestFiltering>
</security>
</system.webServer>
【讨论】:
以上是关于RequestSizeLimit(100_000_000) 在 IIS 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章
为什么array.index比array.include更快?
BZOJ_2679_[Usaco2012 Open]Balanced Cow Subsets _meet in middle+双指针