【问题标题】:How to catch all Exceptions from a WebService?如何从 WebService 中捕获所有异常?
【发布时间】:2009-05-12 21:09:25
【问题描述】:

我有一个对远程 Web 服务的 Web 引用,它在几个不同的类中被调用。我只想捕获来自此 Web 服务的所有异常。 我怎样才能做到这一点(例如扩展它的基础、自动生成的类)而不干扰和修改所有上层代码?

【问题讨论】:

标签: asp.net web-services


【解决方案1】:

你不能,你为什么要这样做? “捕获所有异常”或“处理所有异常”几乎总是一个错误。你想完成什么?


  1. 我建议您将其记录在服务器上,而不是客户端上。
  2. 当你对上层隐藏异常时你会做什么?假装没发生?

将 SoapException 包装在您自己的一个中可能是有意义的。也许。那只是因为 SoapException 非常特定于 Web 服务。在这种情况下,是的,您需要将每个调用包装在 try/catch 中。最好的方法是在外观类中,它也可以具有用于包装 SoapException 或将其转换为您自己的代码的通用代码。

不过,除非您准备好控制代码生成,否则您最终还是要手动完成。

【讨论】:

  • John,我基本上已经在数据库和应用程序之间做了一个 ws 代理。我创建了一个自定义soapexception 类,用于封装Web 服务中的所有异常。我想记录它,并且想对上层业务逻辑隐藏它。
  • 1) 我也需要登录客户端。 2)我想“解包”并只提供核心异常,而不是封装的。
猜你喜欢
  • 2018-07-15
  • 1970-01-01
  • 2010-10-24
  • 1970-01-01
  • 1970-01-01
  • 2010-09-11
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多