#c# #asp.net-mvc #elmah #elmah.mvc
#c# #asp.net-mvc #elmah #elmah.mvc
Вопрос:
В настоящее время я получаю электронное письмо с ошибкой от ELMAH, похожее на следующий скриншот, и все это хорошо.
Но чего не хватает, так это полного URL, похожего на то, что вы получаете от Request.Url.ToString()
(т. Е. включая домен, путь и запрос). Я хотел бы знать, есть ли простой способ включить полный URL запроса, который вызвал ошибку где-нибудь в заголовке электронного письма или в начале текста.
В настоящее время мне приходится вручную собирать URL из разных заголовков запроса (домен, путь и запрос), чтобы узнать место инцидента.
Я знаю о различных перехватах global.asax, предоставляемых elmah, если что-то можно сделать в любом из этих событий, я хотел бы знать, откуда я могу получить экземпляр HttpContext
или что-то еще, чтобы извлечь дополнительные сведения и добавить в текст письма. Но если есть какая-либо существующая встроенная опция конфигурации для включения этой информации, это было бы лучшим выбором, я думаю.
Ответ №1:
На самом деле это было просто. Это я игнорировал очевидное. Просто добавьте этот обработчик в Global.asax
и готово.
protected void ErrorMail_Mailing(object sender, Elmah.ErrorMailEventArgs e)
{
e.Mail.Body = Context.Request.Url.ToString() "rn" e.Mail.Body;
}