我遇到了公司申请的问题。
我将总结系统关键元素:
问题是只在Windows 7上,间歇性地,我得到(我发现通过WCF完整的跟踪日志)a"服务器太忙的异常"由于MaxConcurrentSessions限制用尽(不可能!!!)。
你对这种奇怪的行为有什么看法吗?
谢谢你,祝你新年快乐!
安东尼奥
答案 0 :(得分:1)
使用后,您的所有客户端是否正确关闭/处置与服务的连接?值得检查的是,“幽灵”连接可以解释这一点。
答案 1 :(得分:1)
我们遇到了与自托管WCF接口类似的问题,该接口为异步(2个单向服务调用)后端请求提供了同步请求/响应Web服务。在我们测试的早期,我们发现在经过一段时间后,我们的服务对新请求没有反应。经过一些研究,我们发现只要后端服务(不在我们的控制范围内)没有发送响应,我们就会无限期地等待,因此我们保持客户端连接打开。
我们通过提供“等待时间”配置值来解决问题,因此我们确保响应客户端并关闭连接。我们使用了类似下面的东西......
Task processTask = Task.Factory.StartNew(() => Process(message));
bool isProcessSuccess = processTask.Wait(shared.ConfigReader.SyncWebServiceWaitTime);
if (!isProcessSuccess)
{
//handle error …
}
以下链接提供有关WCF服务性能计数器的信息,可能有助于进一步确定是否按预期关闭了呼叫。 http://blogs.microsoft.co.il/blogs/idof/archive/2011/08/11/wcf-scaling-check-your-counters.aspx
希望这有帮助。
的问候,