2010-05-14 120 views
0

ASP.NET的System.web.Management可用于记录事件,如用户登录,密码更改以及对某些资源的访问吗?应该使用system.Web.Management来记录错误和健康监测吗?ASP.NET日志数据库中的事件

我想在不重新发明整个事物的情况下记录事件。我知道ELMAH用于出错;它可以用于记录事件吗?

回答

1

从文章ELMAH - Error Logging Modules And Handlers上现已解散DoNetSlackers:

错误信令经由ErrorSignal类暴露,这提供了一个名为Raise单个重载方法。简而言之,不会抛出通过ErrorSignal类引发的异常,因此它们不会冒泡,而只会发送给ELMAH以及任何订阅ErrorSignal类的Raise事件的人。

下面的代码段展示了如何获得ErrorSignal类,它是每个应用程序唯一的,并且可以与静态FromCurrentContext方法简单地检索到的一个实例,然后用它来发信号的异常。

ErrorSignal.FromCurrentContext().Raise(new NotSupportedException()); 

信令和抛出异常的区别是,在第一种情况下,没有人会知道,除了ELMAH错误。

进一步阅读