我在我的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