У меня возникает проблема в HttpHandler, когда исключение получает и обрабатывает Application_Error()
в моем глобальном файле приложения (global.asax
). Я пытаюсь написать exception.Message
в источнике EventLog моего приложения.Global.asax Не записывается в приложение EventLog Source
И уточнить, прежде чем спросить, да, источник EventLog существует. Проблема, с которой я сталкиваюсь, заключается в том, что само исключение не записывается в источник EventLog моего приложения (для этого примера мы скажем, что источник журнала событий имеет имя HttpEndpoint
), но вместо этого записывается в ASP.NET 4.0 .30319.0 источник журнала событий.
Есть ли способ обойти это без устранения метода global.asax Application_Error()
, обертывания метода, который выполняется до того, как эта ошибка будет сброшена в try{}catch{}
и таким образом будет записываться в источник журнала событий приложения?
Код в Application_Error()
довольно штопать прямолинейно:
protected void Application_Error(object sender, EventArgs e)
{
var exception = Server.GetLastError();
if (exception == null)
{
return;
}
// try casting exception to known types for more specific event log entries
var msmqOutputQueueWriteFailedException = exception as OutputMessageQueueWriteFailedException;
if (msmqOutputQueueWriteFailedException != null)
{
_windowsEventLog.LogFatal(_eventLogSource, string.Format(CultureInfo.CurrentCulture, "MSMQ Message Send Failure: {0} - InnerException Message: {1}", msmqOutputQueueWriteFailedException.Message, msmqOutputQueueWriteFailedException.InnerException.Message));
}
_windowsEventLog.LogError(_eventLogSource, String.Format(CultureInfo.CurrentCulture, "Global Exception was thrown: {0}", exception.Message), exception);
}
Источник журнала событий HttpEndpoint
проводится как <AppSetting>
в файле web.config, и назначается _eventLogSource
члена в global.asax
. Я также делаю другое ведение журнала внутри приложения к тому же источнику журнала событий (за пределами global.asax
), и все работает просто отлично и денди.
Любые идеи? Любая помощь/обратная связь очень ценится.