我从代码调用服务,如果服务因任何原因停止,它会给我 EndPointNotFound 异常。
<binding name="NormalMode" transferMode="Buffered" receiveTimeout="24.20:31:23.6470000">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
<security mode="None" />
</binding>
我没有设置 openTimeOut 所以它会考虑默认的 1 分钟超时。
我以这种方式调用服务,
private void MyServiceCall(Action serviceCall)
{
try
{
if (serviceCall != null)
{
serviceCall();
}
}
catch (EndpointNotFoundException endpointNotFoundException)
{
throw new EndpointNotFoundException(endpointNotFoundException.Message, endpointNotFoundException);
}
我的问题是如果服务停止,那么抛出 EndPointNotFoundException 需要 1 分钟吗?
编辑::
在这种情况下,我知道服务已停止。我通过停止服务来测试它。问题是我们已经开发了断开连接的 senario,如果服务停止,它将返回默认数据,但这需要时间,所以我正在调查是否是 openTimeOut 负责它。