我们在承载IIS 6.0上的WCF服务的其中一台服务器上观察到以下行为:
的值
我发现sc-win32-status code of 64表示“指定的网络不再可用”
最初,我怀疑这可能是因为对MinFileBytesPerSecond设置了限制,该限制设置了HTTP.sys在将数据从客户端发送到服务器以及从服务器发送回客户端时强制实施的最小吞吐速率。但是sc字节和cs字节的值指示所发送的数据量在通常为该服务观察到的范围内。
还注意到,WCF服务托管在四个机器上,并且是负载平衡的,但问题只出现在其中一个服务器上。(但本质上不在同一台服务器上)。这个问题也是间歇性的。
还有其他人遇到过这个错误吗?有没有关于哪里出了问题的线索?
更新
注意:对IIS 7.5的观察(IIS版本并不重要)
我能够复制这个问题。如果出现以下情况,则会出现问题:
因此,超时时间较长(TCP套接字超时(默认值:4分钟),sc-win32-status为64
从本质上讲,代码似乎需要很长时间才能响应,客户端超时,我在IIS中观察到的只是一个症状,而不是问题。
发布于 2015-03-31 23:15:50
如果您超过WCF服务的最大会话、调用或实例数(取决于您如何配置服务实例上下文模式),也会发生您所描述的行为。如果您观察%max并发会话和/或%max并发调用的System.ServiceModel性能计数器(同样取决于您的服务的实例上下文),您可能会看到与IIS日志项的关联。
请注意,可以在服务节流行为中配置这些maxes。
发布于 2013-06-15 18:41:11
IIS将服务置于休眠状态以节省资源。
从此处复制(WCF REST Service goes to sleep after inactivity)
IIS托管你的服务的应用程序池定义了空闲超时属性(
管理控制台中应用程序池的高级设置),默认为20分钟。如果应用程序池在空闲超时内未收到请求,则终止为该池提供服务的工作进程。收到新请求后,IIS必须重新启动进程,该进程必须加载应用程序域和所有相关程序集,编译.svc文件,运行服务主机和进程。request.The解决方案可以增加空闲超时,但此超时的含义是正确处理服务器资源。如果不需要该进程,则应停止该进程。另一个丑陋的解决办法是使用一些ping进程(例如,服务器上的cron作业或计划任务),它将定期ping调用同一应用程序中的服务或页面上的某些方法。
发布于 2013-09-13 03:37:31
我再次看到你的问题,并想指出我找到了一个解决方案。结果是web.config中的这段代码:
<pages smartNavigation="true">
关闭此功能后,我不再收到相同的超时错误。另请参阅the answer here
https://stackoverflow.com/questions/12278232
复制相似问题