我在我的ASP.NET项目中使用ELMAH进行错误报告。一切都很好,除非我调试一个项目,我不想发送电子邮件报告给允许的用户。 我该如何完成这个壮举?如何在web.config和后台代码中启用和禁用ELMAH?
回答
假设您的开发和生产环境中有不同的web.config文件,只需在您的开发web.config中禁用Elmah即可。您需要注释掉(或移除)httpModules部分中的Elmah.ErrorLogModule元素。
我不知道从代码隐藏中禁用ELMAH的方法。但是,您可以使用特定于配置的web.config文件在开发环境中关闭它(或仅使用其他类型的日志记录)。请参阅ScottGu的帖子:http://weblogs.asp.net/scottgu/archive/2007/09/21/tip-trick-automating-dev-qa-staging-and-production-web-config-settings-with-vs -2005.aspx – 2009-10-10 04:40:00
它不能评论ErrorLogModule。 来自elmah部分的评论errorLog! http://stackoverflow.com/a/25394016/2152973 – 2016-01-21 19:30:57
也许您可以使用ErrorFiltering来关闭Global.asax中的电子邮件日志记录。例如:
void ErrorMail_Filtering(object sender, ExceptionFilterEventArgs e)
{
#if DEBUG
e.Dismiss();
#endif
}
另一种方法是使用ErrorMail_Mailing方法。当ELMAH发送电子邮件时,它运行该第一(当存在时在的global.asax.cs)
public void ErrorMail_Mailing(object sender, ErrorMailEventArgs e)
{
#if DEBUG
e.Mail.To.Clear();
e.Mail.To.Add("[email protected]");
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
- 1. ELMAH和代码混淆
- 2. 启用/禁用从代码
- 3. 如何重写ELMAH APPLICATIONNAME在Web.config中
- 4. 在web.config中MVC3 + Elmah = defaultredirect不起作用
- 5. 如何在代码中启用/禁用spdlog日志记录?
- 6. 用于启用和禁用下拉框的ajax代码
- 7. Emptydatatext在后台代码和前端的gridview中不起作用
- 8. 如何禁用和启用命令行
- 9. 如何动态启用和禁用android:singleLine?
- 10. 如何启用和禁用JavaScript按钮?
- 11. 如何禁用和启用Div元素?
- 12. AutoIt代码来启用和禁用Windows任务栏
- 13. 在yii中启用和禁用图像
- 14. 在表中启用和禁用td
- 15. 在xcode中禁用和启用警告
- 16. SOAP扩展启用/禁用的Web.config
- 17. 如何在Web.config中为SmtpClient启用SSL
- 18. 最简单的方法来修改web.config来启用/禁用HttpModule从代码
- 19. 如何在Safari中轻松启用和禁用Java
- 20. 如何在jsf中启用和禁用命令链接?
- 21. 如何在统一中启用和禁用EmptyGameObject?
- 22. 如何在android中启用和禁用openGL2.0
- 23. 启用和禁用触摸
- 24. 按钮 - 启用和禁用
- 25. WMI USB启用和禁用
- 26. jquery启用和禁用
- 27. AspTokenInput启用和禁用
- 28. EnableRaisingEvents(启用和禁用它)
- 29. USB启用和禁用
- 30. 启用和禁用按钮
能否请您告诉我们如何在发生错误时发送电子邮件?我假设您在发生错误时使用ELMAH发送电子邮件。那么您能向我们展示您的ELMAH的web.config设置吗? – 2011-04-20 01:17:41