Ответ 1
WebActivator PreApplicationStart
фактически использует ASP.NET PreApplicationStartMethodAttribute (см. Эту ссылку, чтобы увидеть, как работает веб-активатор).
PreApplicationStartMethodAttribute
работает, когда среда выполнения ASP.NET запускает приложение, а код запускается на ранней стадии конвейера, даже до того, как событие app_start будет запущено. Таким образом, чтобы ответить на ваш вопрос, триггер произойдет, когда первый запрос будет сделан к веб-серверу (который, в свою очередь, вызовет запуск приложения).
Обратите внимание, что триггер связан с запуском приложения ASP.NET, а не с пулом приложений. Ваш пул приложений может быть запущен из-за какого-то другого приложения (может быть не приложения ASP.NET), но когда первый запрос поступает для приложения ASP.NET, этот триггер может произойти (для конкретного приложения), потому что приложение запускается.
Если вы используете функцию автозапуска, IIS перезапустит ваше приложение при PreApplicationStart
пула приложений и, таким образом, будет запущен PreApplicationStart
.