是否需要serviceAutoStartProvider属性来自动启动ASP.NET应用程序?

我一直在阅读Scott Guthrie关于Auto-Start 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> 

从他的文章中不清楚的是,如果下面的configuration将自动启动一个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属性才能工作。 但是如果没有提供额外的属性,没有指示会发生什么。

  • 我正确阅读文档?
  • 是否需要指定serviceAutoStartEnabled以使用serviceAutoStartEnabled
  • 如果没有指定serviceAutoStartProvider会怎么样?

热身function,特别是那些与IIS有关的function要么停止使用,要么停止使用。 斯科特的文章来自VS2010之前。 他们将整个堆栈重新写入一个新的IIS模块。

您现在可以使用应用程序初始化模块直接从IISconfiguration所有这些。 该模块比您正在研究的预热机制提供更多的function和function。