发布
社区首页 >问答首页 >IIS文件下载挂起/超时- sc-win32-status = 64

IIS文件下载挂起/超时- sc-win32-status = 64
EN

Stack Overflow用户
提问于 2008-12-16 18:06:09
回答 7查看 40.3K关注 0票数 27

对于为什么当我试图通过HTTP下载一个文件时,会有大量的“挂起”,有什么想法吗?

  • 服务器是IIS 6
  • 正在下载的文件是二进制文件,而不是网页。
  • 有几个客户机挂起,包括TrueUpdate和FlexNet web更新包,以及只执行基本HttpWebRequest/HttpWebResponse逻辑并使用响应流下载的自定义.NET应用程序。
  • 当成功为200 0 0时,IIS日志文件签名(sc-状态sc-子状态sc-win32-状态)
  • 如果失败,错误签名为200 0 64。
  • sc-win32 32-状态为64是“指定的网络名称不再可用”。
  • 我可以将firefox指向URL,每次都可以成功下载(也许在幕后发生了一些重试逻辑)。

在这一点上,我的服务器似乎有些古怪,它会抛出这些错误,或者这只是正常的网络行为,我需要使用(或编写)一个能够更好地抵御故障的客户机。

有什么想法吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-08-14 22:57:37

也许您的问题是一个低层次的网络问题与ISP,正如您在您的答复意见推测。我在IIS上遇到了类似的问题,日志文件中出现了一些神秘的200064行,这就是我找到这篇文章的原因。作为记录,这是我对sc-win32-state=64的理解;如果我错了,我希望有人能纠正我。

  • sc-win32 32-status 64意味着“指定的网络名称不再可用”。
  • IIS向客户端发送最终响应后,它将等待来自客户端的ACK消息。
  • 有时客户端会重置连接,而不是将最终的ACK发送回服务器。这不是一个优雅的连接关闭,因此IIS记录“64”代码以表示中断。
  • 许多客户端在连接完成后会重新设置连接,以释放套接字,而不是将其留在TIME_WAIT/CLOSE_WAIT中。
  • 代理人可能比个别客户更倾向于这样做。
票数 25
EN

Stack Overflow用户

发布于 2015-06-22 23:15:26

我花了两周时间调查这个问题。对我来说,我有这样一种场景:断断续续的随机请求被提前终止。这导致IIS日志的状态代码为200,但win32 32-状态为64。

我们的基础设施包括在HA模式下的两个NetScaler负载平衡器后面的两个Windows服务器。

在我的特殊情况下,问题是NetScaler有一个名为“集成缓存”的功能打开(http://support.citrix.com/proddocs/topic/ns-optimization-10-5-map/ns-IC-gen-wrapper-10-con.html)。

禁用此功能后,请求中断停止。现场运作正常。我不知道这是怎么引起的,也不知道为什么会引起问题,但就是这样。

如果您使用代理或负载均衡器,请对它们打开的功能做一些调查。对我来说,原因是客户端和服务器之间中断了请求。

我希望这个解释至少能节省别人的时间。

票数 9
EN

Stack Overflow用户

发布于 2009-05-06 23:10:47

检查服务器的标头,特别是内容类型和内容长度,可能您的客户端在等待永远不会出现的字节时不识别二进制文件的格式和挂起,或者可能关闭底层的TCP连接,这可能导致IIS记录win32状态64。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/372149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档