WCF服务轮询挂起

时间:2009-12-23 17:33:57

标签: wcf

我有2个wcf服务,1个定期轮询其他服务.service2托管在no。具有相同配置的机器。

我的问题是每当轮询器服务重新启动时,即使其他机器上的service2运行正常,我也没有从这些服务获得响应(基本上它会超时 - 获得SYSTEM.TimeOutException)。如果我尝试从某个临时应用程序访问相同的服务(service2)(不重新启动service2),它会给出响应。   如果我重新启动service2,它运行正常,service1(轮询器服务)将从所有托管服务(Service2)获取响应。

不知道造成什么问题。

此致 奇拉格

2 个答案:

答案 0 :(得分:0)

将VS附加到挂起的wcf服务。并确定您的连接是否成功。

使用这两种服务,以便您可以在运行时调试服务。

答案 1 :(得分:0)

如果您正在使用会话绑定(netTcpBinding,wsHttpBinding),那么当您完成它时,很可能没有明确关闭您的客户端通道。这会导致您看到的行为,因为如果您没有显式关闭它,会话需要一分钟左右的时间超时,并且默认的最大会话数很少(10) - 服务器将让新会话堆叠直到旧的关闭。您还可以调整服务器端绑定上的服务限制以增加允许的最大打开会话数,但您确实应该首先确保正确清理客户端。