3

我们正在使用ELMAH我们的MVC asp.net应用程序。
当任何exception发生时ELMAH发送具有事件 ErrorMail_Mailing 的错误邮件时,
我正在 Global.asax 中为此事件编写处理程序,
并尝试从HttpContext.Current.Items变量中读取值但获取null exception.

任何解决方法请帮忙。

我正在应用斯科特在这里的建议:- http://scottonwriting.net/sowblog/archive/2011/01/06/customizing-elmah-s-error-emails.aspx 在 global.asax.cs 我正在尝试写在事件处理程序下方,我想在其中配置错误邮件的主题行,其中包含存储在我的HttpContext.Current.Items

  protected void ErrorMail_Mailing(object sender, Elmah.ErrorMailEventArgs e)
        {               
            if (HttpContext.Current.Items["CustomerName"] != null)
            {
                e.Mail.Subject = "Error came to / " + HttpContext.Current.Items["CustomerName"] + " / Error Type: " +
                                 e.Error.Type;
            }
        }
4

1 回答 1

0

在 MVC 中,这将取决于您在何处设置HttpContext.Current.Items值,以确定它是否在 ErrorEmailEvent 中可用。请参考之前的 SO 问题 - HttpContext.Items with ASP.NET MVC以获取有关正确设置或使用替代方法(如创建自己的 ITempDataProvider )的一些指导。

于 2013-02-08T02:26:42.153 回答