自动捕获所有未处理的异常与WebService相关

5

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

我该怎么做?

3个回答

2
由于某种原因,Application_Error事件不会为Web服务触发(请参见其他问题)。Jeff Atwood先生在他的编程恐惧博客上发布了一些建议链接
他写道:
* 在每个WebService方法周围放置try..catch语句。这些方法往往是其他类的包装器,所以这并不像听起来那么糟糕,但仍然不好。
* 使用Facade设计模式从父对象派生所有对象,这些父对象基本上在.Execute方法上进行try..catch操作。谢谢,但我还是算了。
* 编写自定义SOAP扩展或HttpModule。这听起来合理,但是......很难。如果这是一个如此酷炫,重要的扩展或HttpModule,难道不会已经有人编写过了吗?

1
一种方法是在App_Start处理程序中的某个位置订阅AppDomain.UnhandledException事件。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接