в моем ASMX WS Application_Start вызывается, когда приходит 1-й запрос. Это уже слишком поздно для меня. Есть ли способ вызвать его при выполнении iisreset?
В Каков правильный способ создания потока для ввода IO базы данных в веб-службе asmx? Я спросил о предварительной загрузке системных данных, и ребята посоветовали мне сделать загрузку в Application_Start, Однако, если это делается только по 1-му запросу, это то же самое и, следовательно, не рекомендуется вообще использовать.
Если у вас есть новейший, последний IIS 7.5, вы можете проверить Инициализация приложений, которая была недавно добавлена. Я лично не использовал его, но похоже, что у него могут быть некоторые вещи, которые вам нужны.
Обзор
IIS Application Warm-Up для IIS 7.5 Beta 1 позволяет ИТ-специалистам улучшать отзывчивость своих веб-сайтов, загружая веб-приложения до получения первых запросов. Проактивно загружая и инициализируя все зависимости, такие как соединения с базой данных, компиляцию кода ASP.NET и загрузку модулей, ИТ-специалисты могут гарантировать, что их веб-сайты будут реагировать во все времена, даже если их веб-сайты используют конвейер пользовательского запроса или если Пул приложений перерабатывается.
Преимущества:
Уменьшить время отклика для первых запросов путем предварительной загрузки рабочих процессов IIS Application Warm-Up позволяет ИТ-специалистам настраивать веб-приложение для предварительной загрузки в начале веб-сервера до поступления первого запроса. Предварительно загружая приложение, рабочий процесс может сократить время, затрачиваемое на ответ на первый веб-запрос. Загрузка и инициализация зависимостей, таких как соединения с базой данных,.NET Framework и компиляция "точно в срок" для приложений и зависимостей ASP.NET, уже были выполнены к моменту поступления запроса на сервер.
Повысьте надежность путем предварительной загрузки рабочих процессов, когда происходит переполнение перекрытия Время отклика для первых запросов в сценарии Overlapped Recycling сокращается за счет зависимостей предварительной загрузки. Переработанный рабочий процесс будет сообщать только о своей готовности и начнет принимать запросы после завершения загрузки и инициализации ресурсов, как указано в конфигурации.
Настроить предварительную загрузку приложений IIS Application Warm-Up можно настроить для инициализации веб-приложений с помощью определенных веб-страниц и идентификаторов пользователей. Это позволяет создавать определенные процессы инициализации, которые могут выполняться синхронно или асинхронно в зависимости от логики инициализации. Кроме того, эти процедуры могут использовать конкретные идентификаторы для обеспечения правильной инициализации.
Вы можете создать простую программу, чтобы сделать фиктивный запрос к вашему веб-сервису. Это приведет к срабатыванию Application_Start
в первый раз.
Запустите эту простую программу как запланированную задачу, запущенную при запуске компьютера.