我一直在阅读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。