5

我有一个 C# WebService 应用程序,我想在其中捕获从应用程序抛出的所有未处理的异常。

我怎样才能做到这一点?

4

3 回答 3

2

由于某种原因,Web 服务不会触发 Application_Error 事件(请参阅其他问题)。Jeff Atwood 先生本人在编码恐怖博客上发表了一些建议。

他写:

* 对每个 WebService 方法进行 try..catch。这些方法往往是其他类的包装器,所以这并不像听起来那么糟糕,但它仍然不是很好。
* 使用 Facade 设计模式从父对象派生所有对象......基本上对 .Execute 方法执行 try..catch。嗯,谢谢,但不,谢谢。
* 编写自定义 SOAP 扩展或 HttpModule。这听起来很合理,但……很难。如果它是一个很酷、很重要的扩展或 HttpModule,难道不是已经有人写了吗?
于 2009-05-06T11:12:18.487 回答
1

一种方法是订阅处理程序AppDomain.UnhandledException中某处的事件App_Start

于 2009-05-06T11:12:31.093 回答
0

也许是面向方面的方法的工作。一些例子;

PostSharp

春天网

于 2010-05-11T23:24:55.880 回答