在使用WCF的系统中,CommunicationExceptions有什么问题?我有一个客户端通过WCF使用SOAP - all异步通信与服务器通信。偶尔,我会看到一个CommunicationException扔到我的脸上--没有看到任何可重现的模式来解释为什么以及何时会发生这种情况。
但是,我能够继续运行程序,因为这只是第一次机会(?)异常。因此,我假设我不必担心这一点,并且它是在幕后处理的?但我仍然很担心,如果有人能在这方面给我一些启发,那就太好了。我是否应该尝试在通过WCF调用函数的每个地方都为CommunicationException捕获?
发布于 2009-08-17 05:08:25
CommunicationException是所有与WCF相关的问题的基本类型,并且可以在许多情况下出现在客户端:
如果您经常弹出这些类型,则需要更仔细地检查它们是否真的是CommunicationException类型或某些派生类型(FaultException等)。
FaultException将指示服务器上出现了错误-如果服务器收到请求,但无法正确处理并返回异常或SOAP错误,则将抛出该异常。
您是否注意到异常的消息是什么,以及是否存在任何InnerException
Marc
发布于 2009-08-16 20:01:50
您可以尝试如下所示:
try
{
...
client.Close();
}
catch (CommunicationException e)
{
...
client.Abort();
}
catch (TimeoutException e)
{
...
client.Abort();
}
catch (Exception e)
{
...
client.Abort();
throw;
}https://stackoverflow.com/questions/1285206
复制相似问题