Есть сервис на ASP.NET, необходимо сделать следующее, перед restart'ом сервера или «ресайклинга» приложения, нужно сбросить данные в базу данных. Соответственно я в обработчике события application_end, выполняю эту работу, но насколько я помню (возможно ошибаюсь), application_end имеет определенный таймаут, то есть если код в обработчике application_end не успел выполниться, то приложение будет принудительно завершено не дожидаясь завершения кода в application_end. Но я как-то не смог найти этому подтверждения, буду благодарен если кто-то объяснит есть ли timeout, и если есть, то какой, и где его можно изменить. Заранее благодарен.
Да, тайм-аут есть: ApplicationPools > Pool > Advanced Settings > Shutdown Time Limit
Когда процесс превышает доступный лимит времени на закрытие, процесс убивается, это также потом и по логам видно.