企业库异常处理应用程序块和日志记录应用程序阻止在ASP.NET中正确使用

时间:2009-03-18 15:54:18

标签: .net asp.net logging exception-handling enterprise-library

我已经掌握了ASP.NET的这个应用程序块,但我不确定我是否在ASP.NET中正确编写它。

我已经查看了有关如何使用企业库异常处理应用程序块的正确示例,但仅查找了Windows窗体的文章。

有人可以指出我使用ASP.NET的企业库异常处理应用程序块的正确方向吗? (例如,处理类中的异常,何时将异常传播到Global.asax中的Application_Error,如何处理Application_Error中的已处理和未处理的异常)。

我真的很想看看其他人在做什么。

将企业库错误处理应用程序块与日志记录应用程序块结合使用的代码也会有所帮助。

谢谢!

3 个答案:

答案 0 :(得分:2)

或许最好从你的目标开始,然后确定如何完成它们。

我们团队的工作方式是在global.asax中记录Application_Error事件中的异常。这会捕获所有未处理的异常并将其记录到我们的数据库中。我们没有使用异常处理块的许多功能,因为我们还没有确定它们的需要。

答案 1 :(得分:2)

使用ELEHAB处理异常在所有类型的应用程序中基本相同。您捕获错误并致电ExceptionPolicy.HandleException。唯一的区别就在于您放置“全局”catch块的位置。在WinForms中,您可以将其放在Main方法中。在ASP.NET中,您可以将其放在Application_Error事件中。在Windows服务中,您可以将其放在后台线程启动方法中。

答案 2 :(得分:1)

您还可以尝试以下链接中提供的方法和库

http://sites.google.com/site/spyderhoodcommunity/tech-stuff/aspnetexceptionhandlingandlogginglibrary

异常处理块基本上适用于企业级应用程序。它会带来性能和学习曲线的开销。

如果您的需求更简单,上面的链接将为您提供进行异常处理的架构以及日志库。