.net:如何在Web服务调用期间正确捕获Internet连接错误?

时间:2010-02-15 10:12:24

标签: .net error-handling

我正在调用第三方Web服务,在测试期间我正在模拟如果Web服务器在Web服务操作期间禁用网络适配器而丢失了Internet连接,会发生什么。

我有一个简单的try / catch场景。

ex.message是:XML文档中存在错误(1,1709)。

ex.InnerException.Message:无法从传输连接读取数据:远程主机强行关闭现有连接。

在第二次测试期间:无法从传输连接读取数据:已建立的连接已被主机中的软件中止

我的问题不是捕捉一般情况,而是如何捕捉与运输有关的更具体的例外?我已经尝试过System.Net.Sockets.SocketException,但这是此操作的错误对象类型。

有什么想法吗?

为了澄清,我需要一种只在网络操作失败时才会出现的错误类型,因为我遇到过Web服务提供商对其WSDL进行更改也会在xml中产生错误的情况......所以我需要深入了解并具体了解这个......

尝试

catch (System.Net.WebException ex)
catch (System.Web.Services.Protocols.SoapException soapEx)
catch (System.Net.Sockets.SocketException socketException)

以上都不是。

提前致谢

1 个答案:

答案 0 :(得分:1)

抓住SoapException并阅读Detail属性。