如果我使用的Web服务超时,会抛出什么异常?

BT.*_*BT. 4 c# web-services exception system.net.webexception

我在现有的.NET 2.0 Web服务中调用.NET 2.0 Web服务.我想知道如果发生超时,Web方法会抛出什么异常.我已将Web服务超时设置为低于默认值90秒的值,并且如果超时发生,我想添加业务逻辑.

[System.Net.WebException][1]我应该看的例外吗?

Aar*_*ght 8

这取决于您使用的Web服务的"版本".

使用WCF,您实际上将获得TimeoutException.如果您尝试处理超时,通常也应该处理CommunicationException.有时我也看过FaultException,虽然技术上不应该发生(但它偶尔会发生). FaultException是一个后代,CommunicationException所以你不需要单独处理它,知道它可能会发生是很有用的.

在ASMX中,您通常会获得一个包装的SoapException,您需要检查该InnerException属性以查看确实出错的地方.

使用WSE,您将看到另一个异常ResponseProcessingException,您必须再次检查InnerException详细信息.


And*_*are 1

您应该寻找TimeoutException

当为进程或操作分配的时间已过期时引发的异常。

  • 它不适用于 Web 服务。捕获 [WebException](http://msdn.microsoft.com/en-us/library/system.net.webexception(v=vs.110).aspx) 就可以了。 (2认同)