加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 使用SQL SERVER 2008 R2的ASP.NET MVC 4的ELMAH

发布时间:2020-12-12 06:59:09 所属栏目:MsSql教程 来源:网络整理
导读:我在测试DB中运行了ELMAH sql脚本(它创建了ELmah_Error表和3个存储过程),并使用Nuget在MVC应用程序中配置了ELMAH. 我按照指定修改了web.config,我可以将异常记录到 http://mysite/elmah.axd 但是,我想将异常记录到Sql Server中. 我在下面添加了类来实现它 pub
我在测试DB中运行了ELMAH sql脚本(它创建了ELmah_Error表和3个存储过程),并使用Nuget在MVC应用程序中配置了ELMAH.

我按照指定修改了web.config,我可以将异常记录到

http://mysite/elmah.axd

但是,我想将异常记录到Sql Server中.

我在下面添加了类来实现它

public class ElmahHandleErrorAttribute : System.Web.Mvc.HandleErrorAttribute
{
    public override void OnException(System.Web.Mvc.ExceptionContext context)
    {
        LogException(e);
    }
    private static void LogException(Exception e)
    {
         // Call to Database and insert the exception info
    } 
}

最后一步是:

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
    filters.Add(new ElmahHandleErrorAttribute ());
}

这是使用ELMAH记录所有异常的正确方法还是我错过了什么?

解决方法

完成数据库设置后,您需要做的就是将以下内容添加到< elmah>在你的web.config中设置Elmah以登录SQL数据库:
<elmah>
      <errorLog type="Elmah.SqlErrorLog,Elmah" connectionStringName="<DBConnString>"
            applicationName="<YourApp>" 
  </elmah>

替换< DBConnString>和< YourApp>具有适当的配置值.

完成此操作后,您将无需使用自定义ElmahHandleErrorAttribute类.

我不确定你安装了哪个NuGet软件包,但是我建议使用Elmah.MVC软件包,因为它通过为你设置所有的ErrorHandler和ErrorFilters,将Elmah非常好地集成到MVC中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读