在由于某种原因断开连接的WCF通道上调用方法时,会引发ObjectDisposedException。
现在是正常操作,这不应该发生,但如果出于某种原因,我希望能够通过向用户显示错误来很好地处理异常,例如“操作失败,因为服务未连接”
问题是我只是在appwide异常处理程序中得到一个通用的处置异常,所以我无法确定WCF是否抛弃它。
为了解决这个问题,我目前有一个包装器类,只需用try / catch包装所有服务方法调用,并将任何ObjectDisposedException重新抛出为我的全局处理程序可以处理的自定义通信异常。虽然这是我可以做的一大堆样板材。有没有办法确定WCF是否抛出异常?
干杯
答案 0 :(得分:1)
我曾经遇到过这样的问题,似乎很难确定WCF是否会抛出异常。您不能使用CommunicationObject.Status来解决此问题,只有当您尝试使用该通道时,它才会抛出异常以告知您通道出现故障。
因此,我使用的方式和你的一样。