Я читал Сообщение Скотта Гатри об автозапуске приложений ASP.NET, в котором приведены примеры настройки автоматического запуска приложения ASP.NET 4.0.
<applicationPools>
<add name="MyAppWorkerProcess" managedRuntimeVersion="v4.0"
startMode="AlwaysRunning" />
</applicationPools>
<!--...-->
<sites>
<site name="MySite" id="1">
<application path="/" serviceAutoStartEnabled="true"
serviceAutoStartProvider="PreWarmMyCache" />
</site>
</sites>
<!--...-->
<serviceAutoStartProviders>
<add name="PreWarmMyCache" type="PreWarmCache, MyAssembly" />
</serviceAutoStartProviders>
Из его сообщения неясно, будет ли следующая конфигурация автоматически запускать приложение ASP.NET:
<applicationPools>
<add name="MyAppWorkerProcess" managedRuntimeVersion="v4.0"
startMode="AlwaysRunning" />
</applicationPools>
<!--...-->
<sites>
<site name="MySite" id="1">
<application path="/" serviceAutoStartEnabled="true" />
</site>
</sites>
Разница здесь в том, что для запуска не указан класс. В идеале приложение просто загружается. Документация по Заявка на сайт означает, что serviceAutoStartEnabled
атрибут требует serviceAutoStartProvider
атрибут к работе. Но нет никаких указаний на то, что произойдет, если дополнительный атрибут не указан.
serviceAutoStartProvider
необходимо указать для использования serviceAutoStartEnabled
?serviceAutoStartProvider
указано?Функции Warm-Up, особенно связанные с IIS, были либо прекращены, либо больше не разрабатывались. Статья Скотта была написана до VS2010. Они переписали весь стек в новый модуль IIS.
Теперь вы можете настроить все это прямо из IIS, используя Модуль инициализации приложения. Модуль предоставляет больше возможностей и функций, чем механизм разминки, который вы изучаете.