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