IIS应用程序初始化不会触发ASP.NET应用程序

Ric*_*ahl 10 asp.net iis

在Windows 8上运行,我已从IIS的Windows功能安装选项启用了IIS 的应用程序初始化功能.

我正在尝试让ASP.NET Web应用程序立即启动,并在重新启动应用程序池时触发Application_Start.我已按照本教程中的说明进行操作,但在ApplicationHost.config和web.config中设置值后,我发现没有任何内容正在触发.

这是我设置的内容(这似乎与文章建议的内容相符):

 <applicationPools>
        <add name="MPress" autoStart="true"  
             enable32BitAppOnWin64="true" 
    startMode="AlwaysRunning">
            <processModel identityType="LocalSystem" setProfileEnvironment="true" />
 </applicationPools>
 <sites> 
   <site>
    <application path="/MPress.Workflow.WebQueueMessageManager" 
                 applicationPool="MPress" preloadEnabled="true">
                <virtualDirectory path="/" physicalPath="C:\Projects2010\Clients\MPress\MarvelPress.Workflow.WebQueueMessageManager" />
            </application>
            <bindings>
                <binding protocol="http" bindingInformation="*:80:" />
            </bindings>
   </site>
</sites>
Run Code Online (Sandbox Code Playgroud)

然后在本地web.config我有:

<system.webServer>
 <applicationInitialization remapManagedRequestsTo="Startup.htm" 
                            skipManagedModules="true" 
                            doAppInitAfterRestart="true">
   <add initializationPage="default.aspx" />
 </applicationInitialization>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

除了指向我的虚拟应用程序和应用程序池之外,这与doAppInitAfterRestart标志不同,这与上面文章中的设置完全匹配.

似乎应用程序池自动加载工作 - 如果我停止并重新启动IIS w3wp,我看到应用程序池显示在任务列表中.但是使用Process Explorer我可以看到EXE还没有加载.NET就坐在那里.没有加载.NET运行时dll,因此似乎没有触发任何请求.

真正糟糕的是,没有关于每个设置所需的部分和期望值的真实文档.我无法找到doAppInitAfterRestart标志.我也把结果留下了同样的结果.我也不是100%URL的语法.MSDN文章指向"/default.aspx",我也试过这个也无济于事.

我还在IIS中启用了失败请求跟踪,以查看假请求是否可能以某种方式失败,但没有任何内容显示在那里.当应用程序池重新启动时,它看起来似乎没有触发站点级别加载.

此处提到的所有设置也可以通过Windows 8中的IIS Admin UI获得,一切看起来都是正确的.

我不知道还有什么要检查或者我可能缺少什么.任何想法都赞赏.

Ric*_*ahl 7

经过一些更深入的探讨之后,事实证明虽然我已经使用Windows 8功能安装了应用程序初始化功能,但实际模块未添加到globalModules列表中.

以下内容丢失了,一旦添加,一切都开始正常工作:

<globalModules>
        <add name="ApplicationInitializationModule" image="%windir%\System32\inetsrv\warmup.dll" />
</globalModules>
Run Code Online (Sandbox Code Playgroud)