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