Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 已超过WCF MaxConcurrentSessions_C#_Wcf_Session_Exception_Throttling - Fatal编程技术网

C# 已超过WCF MaxConcurrentSessions

C# 已超过WCF MaxConcurrentSessions,c#,wcf,session,exception,throttling,C#,Wcf,Session,Exception,Throttling,我的公司申请遇到了问题 我将总结系统的关键要素: 几年来,我公司的系统一直在WindowsXP和7台(家用、Pro、Basic)机器上运行 它是用.NET4.0编写的,基于WCF 它使用默认的限制值(MaxConcurrentSessions=100*CPU(4):足以满足我们的工作负载) 主服务由独立的deamon进程(而不是IIS)托管 主服务配置为多线程/会话实例 该协议是可靠的NET.TCP 不超过10个客户端同时访问该服务 问题是,只有在Windows 7上,我间歇性地(通过WCF完整

我的公司申请遇到了问题

我将总结系统的关键要素:

  • 几年来,我公司的系统一直在WindowsXP和7台(家用、Pro、Basic)机器上运行
  • 它是用.NET4.0编写的,基于WCF
  • 它使用默认的限制值(MaxConcurrentSessions=100*CPU(4):足以满足我们的工作负载)
  • 主服务由独立的deamon进程(而不是IIS)托管
  • 主服务配置为多线程/会话实例
  • 该协议是可靠的NET.TCP
  • 不超过10个客户端同时访问该服务
  • 问题是,只有在Windows 7上,我间歇性地(通过WCF完整跟踪日志发现)由于MaxConcurrentSessions限制耗尽(不可能!!!)而出现“服务器太忙异常”

    你知道这种奇怪的行为吗

    谢谢你,祝你新年快乐


    Antonio

    您的所有客户机在使用后是否正确关闭/处理与服务的连接?值得检查的是,“ghost”连接可能解释了这一点。

    我们在自托管WCF接口中遇到了类似的问题,该接口为异步(2个单向服务调用)后端请求提供了同步请求/响应web服务。在测试的早期,我们注意到,经过一段时间的变化,我们的服务对新请求没有响应。经过一些研究,我们发现每当后端服务(我们无法控制)没有发送响应时,我们都会继续无限期地等待,因此我们保持客户端连接打开

    我们通过提供“等待时间”配置值修复了该问题,因此我们确保响应客户端并关闭连接。我们用了如下的方法

    Task processTask = Task.Factory.StartNew(() => Process(message));
    
    bool isProcessSuccess = processTask.Wait(shared.ConfigReader.SyncWebServiceWaitTime);
    
    if (!isProcessSuccess)
    { 
     //handle error … 
    }
    
    以下链接提供有关WCF服务性能计数器的信息,可能有助于进一步确定呼叫是否按预期关闭

    希望这有帮助。

    关于,

    链接提供的“答案2”可能很有趣……您可能想试试这个。非常感谢cgotberg,但是ServicePoint概念仅适用于HTTP连接,而我使用的是NET.TCP连接。如果将
    MaxConcurrentSessions
    增加到更高的值,问题是否仍然存在?也许你在某一时刻拥有的并发会话比你想象的要多。是的,它仍然存在,正如我在文中所写的,只有在Windows7上才存在这个问题!答案可能有点短(如何正确关闭/中止…),但我猜这是潜在的问题。