2010-01-25 89 views
4

我想在ASP.NET应用程序上实现异常处理。你如何建议我实现它?有些要求是:发生异常时 在ASP.NET 3.5中实现异常处理

  • 管理员应该会得到异常的详细
  • 我知道有实现异常(例如几种方式的电子邮件

    • 用户会看到一个友好的页面:登录消息在事件查看器中)

      什么是推荐的方法?

    回答

    2

    推荐的方法实际上取决于您需要如何处理错误信息。

    对于简单的应用程序,只需设置web.config文件以重定向到友好的错误页面就足够了。

    通过使用Global.asax Application_Error事件处理它们,将未处理的错误信息记录到数据库,文件,Windows应用程序日志或Web服务通常是一个好主意。你也可以使用web.config来获得你的友好的页面。一般来说,我不会推荐使用Windows错误日志,因为它们往往有点呆滞,但没有错。

    对于非常详细的操作信息,包括警告和信息消息,工具如log4net被广泛使用。通常情况下,您可以将此路线用于产品或企业级应用程序,其中您的支持团队需要尽可能多的信息来诊断错误。

    MSDN有一个walkthrough的一些基本的错误处理设置,你可以用它们做什么。

    2

    我写了一篇文章关于这一点,我觉得你真的很喜欢

    http://dotnetblogger.com/post/2008/12/03/ASPNET-Health-Monitor.aspx

    至于友好的页面位,我只是使用内置的异常处理在web.config中...因为你正在执行global.asax中的未知异常东西。你也可以处理try/catch块中的异常,并在需要时添加一个注释。然后将数据库绑定到一个漂亮的gridview,以便管理员轻松查看错误。

    +0

    在我的文章中有一些评论显示了其他一些选项(内置和第三方),但我仍然认为我的方法是最可定制的。我现在在我的所有项目中都使用它。 – 2010-01-25 00:31:14

    0

    我有一个很好的可重用的HttpModule,你可以看看here。它可以用来轻松处理普通用户请求期间发生的异常以及后台线程中发生的异常。