在Elmah电子邮件中包含完整的网址

时间:2019-03-23 07:03:41

标签: c# asp.net-mvc elmah elmah.mvc

目前,我从ELMAH收到一条错误电子邮件,类似于以下屏幕截图,这一切都很好。

enter image description here

但是缺少的一件事是完整的url,类似于您从Request.Url.ToString()获得的(例如,包括域,路径和查询)。我想知道是否有一种简单的方法来包含完整的请求URL,这会在电子邮件标题或正文开头的某处导致错误。

当前,我必须手动将来自不同请求标头(域,路径和查询)的url拼凑在一起,以了解事件站点。

我知道elmah提供了不同的global.asax挂钩,如果在这些事件中的任何一件事情上都可以做一些事情,我想知道从哪里可以获取HttpContext实例或其他东西。从中提取其他详细信息并添加到电子邮件正文中。但是,如果有任何现有的内置配置选项可以包含此信息,那么我猜这将是一个更好的选择。

1 个答案:

答案 0 :(得分:1)

实际上很简单。是我忽略了显而易见的事实。只需在Global.asax中添加此处理程序即可。

protected void ErrorMail_Mailing(object sender, Elmah.ErrorMailEventArgs e)
{
   e.Mail.Body = Context.Request.Url.ToString()+ "\r\n" + e.Mail.Body;
}