asp.net - 超出最大请求长度
问题描述
我收到最大请求长度超出错误,尝试从站点下载文件(在 asp.net 中开发)。我确实尝试了超出最大请求长度下方链接中建议的解决方案 。
但我仍然有同样的错误。
我使用的 iss 是 8.5 [1]:https ://i.stack.imgur.com/pCLEs.png 我在 web.conf 中添加了以下标签
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1073741824" />
</requestFiltering>
</security>
当我添加以下标签时,它会抛出“500 - 内部服务器错误”。
<httpRuntime maxRequestLength="1048576" />
但似乎没有任何效果。
解决方案
IIS 的默认最大文件上传大小为 4MB。上传超过 4MB 的文件会出现错误“超出最大请求长度”。
machine.config 文件设置为 4MB 默认限制。我们可以使用 web.config 中的以下代码对其进行更改。
< system.web >
< httpRuntime executionTimeout="240" maxRequestLength="20480" / >
< /system.web >
对于 IIS 7 及以后的版本,我们可以修改默认上传限制。您需要将以下代码添加到 web.config。
< system.webServer >
< security >
< requestFiltering >
< requestLimits maxAllowedContentLength="3000000000" / >
< /requestFiltering >
< /security >
< /system.webServer >
maxAllowedContentLength以字节为单位估计 maxRequestLength以千字节为单位估计。maxRequestLength 的默认值为 4096 (4mb)。最大值为 2,147,483,647,maxAllowedContentLength 的默认值为 30,000,000(大约 30mb)。最大值为 4,294,967,295。
您可以根据文件大小设置值。上面的 maxRequestLength 值为 20MB 和 maxAllowedContentLength 30MB。也不要忘记设置执行超时或连接超时值。
connectionTimeout 指定 IIS 在断开被视为非活动的连接之前等待的时间(以秒为单位)。
executionTimeout 指定请求在被 ASP.NET 自动关闭之前允许执行的最大秒数。
参考链接:
推荐阅读
- deep-learning - docker:无效的参考格式。请参阅“搬运工运行--帮助”
- python - ValueError:形状必须为 2 级,但“MatMul”为 1 级
- python - os.remove() {Python 3} 会永久删除指定的文件还是我的硬盘中留下的残留文件?
- arrays - nodejs有没有像java中的列表(集合)
- javascript - Apple 身份验证和 GDPR 矛盾
- python - 为什么 for 循环会这样?
- swift - SwiftUI - 动态文本的本地化
- javascript - 如何正则表达式用下划线替换匹配文本中的所有空格?(Javascript)
- ftp - FTP 服务器使用单个端口为所有客户端提供服务?它如何区分每个客户的数据?
- accessibility - 聚焦在可见区域之外