我有一个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生成的服务客户端类的实例。
答案 0 :(得分:0)
<system.net>
<connectionManagement>
<add address="*" maxconnection="500" />
</connectionManagement>
默认值为2.有关详细信息,请参阅:scale up WCF service