在断开连接的WCF通道上处理ObjectDisposedExceptions

时间:2011-08-04 15:31:16

标签: wcf objectdisposedexception

在由于某种原因断开连接的WCF通道上调用方法时,会引发ObjectDisposedException。

现在是正常操作,这不应该发生,但如果出于某种原因,我希望能够通过向用户显示错误来很好地处理异常,例如“操作失败,因为服务未连接”

问题是我只是在appwide异常处理程序中得到一个通用的处置异常,所以我无法确定WCF是否抛弃它。

为了解决这个问题,我目前有一个包装器类,只需用try / catch包装所有服务方法调用,并将任何ObjectDisposedException重新抛出为我的全局处理程序可以处理的自定义通信异常。虽然这是我可以做的一大堆样板材。

有没有办法确定WCF是否抛出异常?

干杯

1 个答案:

答案 0 :(得分:1)

我曾经遇到过这样的问题,似乎很难确定WCF是否会抛出异常。您不能使用CommunicationObject.Status来解决此问题,只有当您尝试使用该通道时,它才会抛出异常以告知您通道出现故障。

因此,我使用的方式和你的一样。