Как избежать проблем холодного запуска с приложениями WCF, размещенными на IIS?

У нас есть система, в которой мы размещаем несколько приложений WCF в IIS. У некоторых из этих приложений немного больше времени запуска, занимающего пару секунд (больше, чем пользователи будут рады ждать). Как только он запущен и работает, все быстро, так что это действительно только время запуска.

Клиент также должен перерабатывать пулы приложений каждую ночь.

Есть ли какой-нибудь способ разбудить все эти службы, чтобы время запуска не было проблемой для первого пользователя системы?

Первые мысли о том, как написать службу Windows, которая будет просто вызывать легкий метод для каждой службы каждые x (настраиваемые) минуты, чтобы поддерживать приложения в рабочем состоянии, но, поскольку мы находимся в среде с балансировкой нагрузки, и приложениям требуются определенные заголовки хоста для передачи , мы всегда обращаемся к адресу балансировки нагрузки, что означает, что у нас нет возможности убедиться, что все службы во всех блоках кластера действительно запущены.

Поскольку одно приложение wcf в IIS может иметь только один заголовок узла, единственным другим способом будет настройка второго веб-сайта iis, указывающего на то же приложение. Я просто не уверен, что это поможет, так как это будет в другом контексте хоста.

другой вариант может заключаться в создании чего-то вроде расширения IIS (не уверен, возможно ли это еще), которое могло бы вызывать каждую из наших служб, когда IIS или пул приложений фактически запускаются снова. (То, что замечает, когда пул приложений был переработан, но до первого запроса пользователя.

Любые идеи будут высоко оценены.

Спасибо

Gineer

Ответы на вопрос(2)

Ваш ответ на вопрос