【发布时间】:2012-09-05 09:22:27
【问题描述】:
我们在 IIS 6.0 上托管 WCF 服务的其中一台服务器上观察到以下行为:
- IIS 日志显示所用时间的值很高 (> 100000)
- HTTP 状态码为 200
- sc-win32-status 代码显示值为 64
发现sc-win32-status code of 64表示“指定网络不可用”
最初我怀疑这可能是因为 MinFileBytesPerSecond 设置的限制,它设置了 HTTP.sys 在将数据从客户端发送到服务器并从服务器返回到客户端时强制执行的最低吞吐率。 但是 sc-bytes 和 cs-bytes 的值表示发送的数据量在服务通常观察到的范围内。
还请注意,WCF 服务托管在四个机器上并且是负载平衡的,但问题仅出现在其中一台服务器上。 (但本质上不是在同一台服务器上)。问题也是间歇性的。
有没有其他人遇到过这个错误?有什么可能是错误的线索吗?
更新
注意:在 IIS 7.5 上的观察(IIS 版本并不重要)
我能够复制这个问题。在以下情况下会出现此问题:
1、WCF服务响应时间长
2. 客户端代理在收到服务器响应之前超时。在这种情况下,它会导致客户端出现 TimeoutException。
3. 服务器一直在等待客户端的 TCP ACK,它永远不会收到。
因此超时(TCP 套接字超时(默认值:4 分钟)和 sc-win32-status 为 64
所以基本上看起来 WCF 代码需要很长时间才能响应并且客户端超时,我在 IIS 日志中观察到的只是一个症状,而不是问题。
【问题讨论】:
-
客户端应用是否报错-操作是否成功完成?问题是否经常发生 - 例如每 x 小时?
-
行为断断续续,没有规律。
-
您找到解决方案了吗?我有一个simular problem。这些请求在 10 次中有 9 次有效。我使用 ASMX Web 服务超时。此请求在 een UpdatePanel 回发后触发,并在请求完成时响应。重定向页面。