gpt4 book ai didi

asp.net-mvc-3 - HTTP 请求的内容长度 > 正文大小

转载 作者:可可西里 更新时间:2023-11-01 15:18:32 27 4
gpt4 key购买 nike

我正在管理一个网站,该网站过去几个月在使用 MVC 3.0 ASP.net 构建的 IIS 7.5 上运行良好。当我们的 AJAX POST 请求(通过 jQuery 触发)失败时,我们时不时会遇到一个问题,因为发布的 JSON 被截断了。

到目前为止,我们发现对于所有此类请求,请求的“Content-Length” header 包含的数据比我们在请求中实际获取的数据多。

我们已经在 web.config 中将 ma​​xRequestLength 设置为 51200,我相信 ma​​xAllowedContentLength 的默认值相当大(我们还没有设置它在我们的配置中)。我还有一个失败的请求,“内容长度”低至 7301(字节),但我们只设法获得了 2179 字节。所以我不怀疑这会达到任何极限。

有问题的请求的请求头如下

  • 缓存控制:无缓存
  • 连接:保持事件状态
  • 用法:无缓存
  • 内容长度:7301
  • 内容类型:application/json;字符集=utf-8;
  • 接受:application/json, text/javascript, /; q=0.01
  • 接受编码:gzip、deflate
  • 接受语言:en-us,en;q=0.5
  • 用户代理:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1
  • X-Requested-With: XMLHttpRequest

有什么想法吗??


更新:我已经能够进一步从我们的代码中分离出问题。已经编写了一个独立的 Controller ,它接受一个 JSON 字符串并反序列化它。如果出现错误,它会记录错误。

当我在 50 个请求的循环中与 150 个并发线程并行访问此 Controller 时,我遇到了一些失败,其中此 Controller 接收的 JSON 被截断了。现在我们非常专注于优化 IIS 并阅读更多可能相关的各种参数(目前我们在 IIS 上使用默认参数运行)。

我强烈认为 150 个并发连接应该不是什么大问题,我真诚地希望调整一些参数我们应该能够解决这个问题。一旦我们解决了这个问题,就会分享我的发现。


*更新 2(10 月 8 日)*:我进一步缩小了问题范围。我在IIS中打开错误日志,发现我失败的请求在读取数据时出现如下错误

BytesReceived = 0
ErrorCode = 2147943395
Error Description = "The I/O operation has been aborted because of either a thread exit or an application request.(0x800703e3)"

我在 iis 论坛上找到有关此错误的信息,但尚未尝试给出(多个)建议。以下链接可以作为搜索更多内容的良好起点

http://forums.iis.net/p/1149787/1917288.aspx

最佳答案

我终于找到了解决方案的原因和修复方法。不幸的是,它不适用于我的所有环境,但有助于生产环境。在下面查找详细信息

事实证明,这是由于 Windows 2008 R2 中的错误所致,它使 asp.net 相信客户端已断开连接,即使实际上并没有。可在 http://support.microsoft.com/kb/977453 找到相同的修补程序。 .该修复程序已包含在 Windows 2008 R2 SP1 中(来自 here)。

虽然此修补程序在一个运行 Windows 2008 R2 的环境中对我有用,但它不能应用于带有 SP1 的 Windows 2008 R2。不幸的是,该问题仍然可以在 SP1 上运行的环境中重现,并且仍未解决。我已在 IIS 论坛上针对此问题开设了一个新案例 http://forums.iis.net/t/1192310.aspx并将在那里跟踪它。

要阅读有关此问题的更多信息 - 您可以关注 http://forums.iis.net/p/1149787/1917288.aspx 的主题

关于asp.net-mvc-3 - HTTP 请求的内容长度 > 正文大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12662282/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com