【问题标题】:How to enable and disable ELMAH in web.config and in code behind?如何在 web.config 和后面的代码中启用和禁用 ELMAH?
【发布时间】:2009-10-09 20:23:02
【问题描述】:

我在我的 ASP.NET 项目中使用 ELMAH 进行错误报告。一切都很好,除了当我调试一个项目时,我不想向允许的用户发送电子邮件报告。 我怎样才能完成这项壮举?

【问题讨论】:

  • 您能告诉我们发生错误时您是如何发送电子邮件的吗?我假设您在发生错误时使用 ELMAH 发送电子邮件.. 那么您能否向我们展示您的 ELMAH 的 web.config 设置?

标签: elmah


【解决方案1】:

假设您的开发和生产环境有不同的 web.config 文件,只需在开发 web.config 中禁用 Elmah。您需要注释掉(或删除)httpModules 部分中的 Elmah.ErrorLogModule 元素。

【讨论】:

【解决方案2】:

也许您可以使用ErrorFiltering 关闭 Global.asax 中的电子邮件记录。比如:

void ErrorMail_Filtering(object sender, ExceptionFilterEventArgs e)
{

#if DEBUG
    e.Dismiss();
#endif

}

【讨论】:

    【解决方案3】:

    另一种方法是使用 ErrorMail_Mailing 方法。当 ELMAH 发送电子邮件时,它首先运行(当存在于 global.asax.cs 中时)

    public void ErrorMail_Mailing(object sender, ErrorMailEventArgs e)
    {
    #if DEBUG
        e.Mail.To.Clear();
        e.Mail.To.Add("MyAddress@myDomain.com");
        e.Mail.Subject = "Error in Development";
    #endif
    }
    

    上面的例子可以通过 web.Debug.config 和 web.Release.config 中的转换。但是您可以在此方法中做更多事情。见http://scottonwriting.net/sowblog/archive/2011/01/06/customizing-elmah-s-error-emails.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-27
      • 1970-01-01
      • 2023-03-17
      相关资源
      最近更新 更多