asp.net - Http 状态码 413

标签 asp.net https iis-6

我有一个带有普通 Ajax 更新面板的页面。有一个提交按钮将用户选择发送到服务器。如果用户等待一两分钟,来自服务器的响应是来自服务器的 HTTP 413(请求实体太大)。仅当我在等待一两分钟后尝试重新提交时才会发生这种情况。如果登陆页面并提交表单,服务器就能够处理它。

我已经修改了 uploadReadAheadSize(如前所述 http://forums.asp.net/t/1574804.aspx )并将其设置为 200,000,000 - 问题仍然存在

Http请求

POST https://server/somepage HTTP/1.1
Accept: */*
Accept-Language: en-US,zh-Hans;q=0.9,zh-CN;q=0.8,zh-SG;q=0.7,zh-Hant;q=0.6,zh-HK;q=0.4,zh-MO;q=0.3,zh-TW;q=0.2,zh;q=0.1
Referer: https://server/somepage
x-requested-with: XMLHttpRequest
x-microsoftajax: Delta=true
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Cache-Control: no-cache
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.3; .NET4.0E)
Host: some-server
Content-Length: 86124
Connection: Keep-Alive
Form-Data...........

请求通过 SSL。

我还尝试在 web 配置中编辑 httpruntime 配置
<httpRuntime executionTimeout="3600" maxRequestLength="1902400" />

最佳答案

这解决了错误。如果我能够正确描述问题,请纠正我。

SSL 打开安全隧道一段时间。所以每当我尝试在那个时间范围内发布数据时,一切都很顺利。但是一旦隧道关闭并且服务器在客户端重新协商之前预加载请求。但是预加载最大长度很小,因此失败了。

我尝试将 uploadReadAhead 值设置为 120,000,这大于实体请求大小约 86,000。请求仍然失败(奇怪.. ????)。

一旦我将它设置为大约 10 MB 的值就可以了。

关于asp.net - Http 状态码 413,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10481662/

相关文章:

c# - 哪些大学/学院教授 Microsoft ASP.NET 和其他 MS 技术?

linux - 如何在 Shell 中使用 CURL 在支持 CSRF 的网站上通过 https 上传文件?

ios - ASP.NET 如何删除 SameSite cookie 参数

asp.net - ASPxGridView - 如何获取主从 GridView 的详细信息网格中的选定行?

css - 在 Internet Explorer 9 中使用 -ms-filter

asp.net - 在 ASP.NET WebForms 中通过 HTTPS 远程访问 elmah.axd 时出现 "Forbidden"错误

web-applications - 如何升级 IIS 6 Web 应用程序,以便它在运行 IIS 7 的计算机上的 Visual Studio 中打开

java - 使用 URL 类监视 HTTPS 连接 (Java)

javascript - Node JS : Listening for HTTPS POST JSON Requests

session - BDE inmem000.rem 访问/共享冲突