Текущее приложение, над которым я работаю, похоже, очень часто перерабатывает пул приложений, но когда он заканчивается, id не передает Application End или Application Start.
Вот как выглядит мой Global.asax.
protected void Application_Start(object sender, EventArgs e)
{
_log.Info("Application_Start");
}
protected void Application_End(object sender, EventArgs e)
{
_log.Info("Application_End");
}
protected void Application_Error(object sender, EventArgs e)
{
_log.Error("Application_Error");
_log.Error(Server.GetLastError());
}
Что может заставить приложение "умереть" без прохождения End или Error?
Технически, он должен запускаться с удалением пула приложений. Возможно ли, что что-то удаляет объект _log или помещает его в состояние, из-за которого он не может зарегистрироваться?
Это не поможет в вашем случае, но я добавляю его, пока я пытаюсь найти ответ, поскольку он несколько уместен и что нужно следить за:
http://forums.asp.net/p/948103/1152361.aspx#1152361
Попробуйте переключить событие на Application_OnEnd и посмотрите, работает ли это. Я видел еще одну статью об этом. http://bytes.com/topic/asp-net/answers/326302-application_end-not-fired-when-app-unloaded-why