gpt4 book ai didi

WCF 服务 : Status 200 with sc-win32-status of 64

转载 作者:行者123 更新时间:2023-12-03 13:02:10 31 4
gpt4 key购买 nike

我们在 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日志中观察到的只是一个症状而不是问题。

    最佳答案

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

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

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

    关于WCF 服务 : Status 200 with sc-win32-status of 64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12278232/

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