gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 15:34:48 26 4
gpt4 key购买 nike

我在测试数据库中运行了 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 和 ErrorFilter 将 Elmah 集成到 MVC 中,效果非常好。

关于sql-server - 使用 SQL SERVER 2008 R2 的 ASP.NET MVC 4 的 ELMAH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16312455/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com