как заставить Application_Start (в Global.asax.cs) вызываться перед запросами в веб-службе asmx на IIS 6.0

2

в моем ASMX WS Application_Start вызывается, когда приходит 1-й запрос. Это уже слишком поздно для меня. Есть ли способ вызвать его при выполнении iisreset?

В Каков правильный способ создания потока для ввода IO базы данных в веб-службе asmx? Я спросил о предварительной загрузке системных данных, и ребята посоветовали мне сделать загрузку в Application_Start, Однако, если это делается только по 1-му запросу, это то же самое и, следовательно, не рекомендуется вообще использовать.

Теги:
initialization
web-services
iis
asmx

2 ответа

2

Если у вас есть новейший, последний 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 можно настроить для инициализации веб-приложений с помощью определенных веб-страниц и идентификаторов пользователей. Это позволяет создавать определенные процессы инициализации, которые могут выполняться синхронно или асинхронно в зависимости от логики инициализации. Кроме того, эти процедуры могут использовать конкретные идентификаторы для обеспечения правильной инициализации.

  • 0
    Мне жаль. я забыл версию. Я использую IIS версии 5.1 и 6.0. что я могу сделать?
  • 0
    если это невозможно в более ранних версиях, это нелепо. я думаю, что необходимость была там с версии 0.1, так как почти все приложения имеют какие-то задачи инициализации.
Показать ещё 3 комментария
-2

Вы можете создать простую программу, чтобы сделать фиктивный запрос к вашему веб-сервису. Это приведет к срабатыванию Application_Start в первый раз.

Запустите эту простую программу как запланированную задачу, запущенную при запуске компьютера.

  • 0
    спасибо Джон! Я тоже так думал. Проблема в том, что серверы никогда не выключаются. Я действительно поражен, что нет способа сделать инициализации заранее ... Как вы думаете, есть ли способ запланировать что-либо на основе запуска IIS?
  • 0
    Да, есть. В IIS 7.5. Убедитесь, что ваше руководство знает об этой причине для обновления. Тогда, возможно, они обновятся через год или около того.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню