Мы хотели бы разогреть приложение ASP.NET MVC, размещенное на сервере IIS 7.5. Модуль разминки, который раньше был доступен по адресу http://forums.iis.net/t/1176740.aspx был удален с некоторых пор.
Приложение должно прогреваться каждый раз при перезапуске рабочего процесса IIS или ASP.NET по любой причине. Во время периода прогрева IIS должен возвращать некоторый код состояния HTTP, указывающий на его состояние прогрева или его неспособность обслуживать каких-либо клиентов.
Будет ли хорошей идеей создание исполняемого файла, который перемещается по необходимым страницам сайта с помощью HttpRequests? Исполняемый файл может быть запущен из реализации IProcessHostPreloadClient. Можно ли настроить IIS так, чтобы он принимал запросы только от localhost, и после того, как исполняемый файл будет готов, он может переключиться на всех клиентов, но этот переключатель не должен запускать перезапуск IIS (очевидно).
Можно ли использовать Visual Studio 2010 - Web Performance Test для разогрева приложения вместо создания исполняемого файла вручную? Есть ли другие альтернативы?
PS: приложение использует проверку подлинности с помощью форм и сеансы, поэтому важно поддерживать файлы cookie состояния и другие файлы cookie.
ОБНОВЛЕНИЕ 1. В нашем приложении мы используем .NET Framework 4.0 и Entity Framework (сначала база данных). Первое попадание в запросы EF происходит медленно. Причина разминки - избавиться от этих первых ударов. Мы уже используем скомпилированные запросы в большинстве мест, и мы реализовали предварительно скомпилированные представления для EF. Размер модели и приложения очень большой и сложный. Разминка должна пройти через множество страниц, чтобы гарантировать, что скомпилированные и нескомпилированные запросы EF выполняются хотя бы один раз, прежде чем любой конечный пользователь получит доступ к приложению.