【问题标题】:Capture all unhandled exceptions automatically with WebService使用 WebService 自动捕获所有未处理的异常
【发布时间】:2010-10-24 03:59:06
【问题描述】:

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

我该怎么做?

【问题讨论】:

    标签: c# exception capture


    【解决方案1】:

    由于某些原因,Web 服务不会触发 Application_Error 事件(请参阅other question)。 Jeff Atwood 先生本人也发布了一些建议on the coding horror blog

    他写道:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        PostSharp

        Spring.Net

        【讨论】:

          猜你喜欢
          • 2012-09-16
          • 2010-09-21
          • 1970-01-01
          • 2011-02-16
          • 2018-05-30
          • 1970-01-01
          • 2017-11-25
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多