【问题标题】:WCF Service: Status 200 with sc-win32-status of 64WCF 服务:状态 200,sc-win32-status 为 64
【发布时间】:2012-09-05 09:22:27
【问题描述】:

我们在 IIS 6.0 上托管 WCF 服务的其中一台服务器上观察到以下行为:

  1. IIS 日志显示所用时间的值很高 (> 100000)
  2. HTTP 状态码为 200
  3. 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 回发后触发,并在请求完成时响应。重定向页面。

标签: wcf iis


【解决方案1】:

如果您超过 WCF 服务的最大会话、调用或实例数(取决于您如何配置服务实例上下文模式),您所描述的行为也会发生。如果您观察 %max 并发会话和/或 %max 并发调用的 System.ServiceModel 性能计数器(同样取决于您的服务的实例上下文),您可能会看到与 IIS 日志条目的相关性。

请注意,这些最大值可以在服务限制行为中进行配置。

https://msdn.microsoft.com/en-us/library/vstudio/system.servicemodel.description.servicethrottlingbehavior(v=vs.100).aspx

【讨论】:

    【解决方案2】:

    我再次看到您的问题并想指出我找到了解决方案。原来是web.config中的这段代码:

         <pages smartNavigation="true">
    

    关闭此功能后,我不再收到相同的超时错误。另见the answer here

    【讨论】:

      【解决方案3】:

      IIS 使服务进入睡眠状态以节省资源。

      从这里复制 (WCF REST Service goes to sleep after inactivity)

      托管服务的应用程序池定义空闲超时属性(IIS 管理控制台中应用程序池的高级设置),默认为 20 分钟。如果应用程序池在空闲超时内未收到任何请求,则终止为池服务的工作进程。 IIS收到新请求后必须重新启动进程,该进程必须加载应用程序域和所有相关程序集,编译.svc文件,运行服务主机并处理请求。解决方法可以是增加空闲超时但含义这个超时是正确处理服务器资源。如果不需要该过程,则应停止该过程。另一个丑陋的解决方法是使用一些 ping 进程(例如服务器上的 cron 作业或计划任务),它会定期 ping 调用同一应用程序中服务或页面上的某些方法。

      【讨论】:

        猜你喜欢
        • 2010-09-27
        • 2011-05-12
        • 1970-01-01
        • 2011-11-27
        • 2012-11-08
        • 2018-04-09
        • 1970-01-01
        • 1970-01-01
        • 2018-07-25
        相关资源
        最近更新 更多