我正在现有的 .NET 2.0 Web 服务中调用 .NET 2.0 Web 服务。如果发生超时,我想知道 Web 方法会引发什么异常。我已将 Web 服务超时设置为低于默认 90 秒的值,如果发生超时,我想添加业务逻辑。
是[System.Net.WebException][1]
我应该看的例外吗?
我正在现有的 .NET 2.0 Web 服务中调用 .NET 2.0 Web 服务。如果发生超时,我想知道 Web 方法会引发什么异常。我已将 Web 服务超时设置为低于默认 90 秒的值,如果发生超时,我想添加业务逻辑。
是[System.Net.WebException][1]
我应该看的例外吗?
这种类型取决于您使用的 Web 服务的“版本”。
使用 WCF,您实际上会得到一个TimeoutException。如果您尝试处理超时,通常还应该处理CommunicationException 。有时我也见过FaultException,尽管从技术上讲这不应该发生(但它偶尔会发生)。 FaultException
是的后代,CommunicationException
因此您不需要单独处理它,知道它可能会发生是很有用的。
在 ASMX 中,您通常会得到一个已包装的SoapException,您需要检查其InnerException
属性以查看真正出错的地方。
使用 WSE,您将看到另一个异常ResponseProcessingException,您必须再次查看InnerException
详细信息。
你应该寻找一个TimeoutException
:
当分配给进程或操作的时间到期时引发的异常。