WCF服务不发送响应,但也不发送错误

时间:2016-09-01 23:30:48

标签: .net wcf wcf-wshttpbinding

我遇到了奇怪的行为,我的wcf wshttp服务完成处理数据(我知道因为我在返回人员列表之前就记录了一条消息)但是客户端没有收到响应并且坐在那里“挂起” 。我将超时时间增加到2小时,即使服务在20分钟后完成检索数据,客户端也会在达到超时限制并接收超时异常之前挂起2小时。正如您可能猜到的那样,我从服务中返回了大量数据(大约5万个复杂对象)。我对要序列化的所有内容都有[DataContract]属性。

我已完成的故障排除:

  1. 在我们的测试环境中,服务似乎每次都有效,并在20分钟后返回。

  2. 我们的生产服务器随机遇到上述问题。有时它会在20分钟后返回,有时客户端会在服务实际结束后的一小时40分钟内收到超时错误。

  3. 我启用了wcf跟踪,它跟踪的最后一件事是Close ClientBase语句。这是我从方法返回之前做的最后一件事(除了之后的日志语句)。

  4. 我将大多数配置设置设置为其最大值,以处理返回的大型数据集。

  5. 这是服务器/网络问题吗?我可以采取任何其他步骤来追踪这个问题吗?

    该服务托管在IIS7 Windows Server 2008 R2中。使用.net framework 4.5.2。

1 个答案:

答案 0 :(得分:0)

看起来负载均衡器就是问题所在。我们不得不在负载均衡器上增加响应超时(可能是响应大小)。不知道这些设置在lb上的位置,因为我们的网络管理员进行了更改。