服务说它没问题时出现TimeoutException

时间:2016-11-15 00:53:04

标签: .net web-services wcf .net-4.5

我有一个WCF服务。我从WPF应用程序调用此服务。

大部分时间这些电话都没问题。但很少,它们会因超时异常而失败。

我每天要拨打大约20,000个电话给这项服务。并且每天大约有80天因超时异常而失败(超时设置为1分钟)。

但是,如果我检查服务的日志,它会报告一切都很顺利。事实上,它说它真的很快(不到一秒钟)。

以下是服务时间的示例:

开始时间:2016-11-11 09:40:09.170
结束时间:2016-11-11 09:40:09.270

超时有这个时间戳:

例外:2016-11-11 09:40:52.146

(我已经检查过这些时间戳的生成是否同步。)

所以呼叫结束并在100毫秒内完成,但是43秒后,客户端说它超时了。

我很困惑。我无法在受控环境中重现此错误。所以我只留下日志查看错误。

任何人都知道我可以从这里去哪里?当服务说它做得很好的时候为什么会出现超时异常?

更新:

如果它是相关的,这是我用来调用我的服务的代码:

try
{
    myResponse = await myService.Client.MyServiceCallAsync(serviceCallContract);
}
catch (Exception exception)
{
    errorMessage = HandleFaults(exception, isPreview, orderedTests);
    serviceCallFailed = true;
    myResponse = null;
}

myService.Client是从WSDL生成的服务客户端类的实例。

1 个答案:

答案 0 :(得分:0)

我有同样的问题。我设法通过将其添加到服务器端的配置文件来解决它:

  <system.net>
<connectionManagement>
  <add address="*" maxconnection="500" />
</connectionManagement>

默认值为2.有关详细信息,请参阅:scale up WCF service