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>
そして、ローカルの web.config には次のものがあります。
<system.webServer>
<applicationInitialization remapManagedRequestsTo="Startup.htm"
skipManagedModules="true"
doAppInitAfterRestart="true">
<add initializationPage="default.aspx" />
</applicationInitialization>
</system.webServer>
doAppInitAfterRestart フラグを除いて、これは上記の記事の設定とまったく同じですが、私の仮想アプリとアプリケーション プールを指している点が異なります。
アプリケーション プールの自動ロードが機能しているようです。IIS w3wp を停止して再起動すると、アプリケーション プールがタスク リストに表示されます。しかし、Process Explorer を使用すると、EXE が .NET をロードしていないことがわかります。.NET ランタイム dll が読み込まれていないため、要求が発生していないように見えます。
本当にひどいのは、各設定に必要なセクションと期待値の実際のドキュメントがないことです。doAppInitAfterRestart フラグは、どこにも記載されていません。私も同じ結果でそれを省略しました。また、URL の構文が 100% わかっているわけではありません。MSDN の記事は「/default.aspx」を指していますが、私もそれを試してみましたが、役に立ちませんでした。
また、IIS で失敗した要求の追跡を有効にして、偽の要求が何らかの形で失敗したかどうかを確認しましたが、そこには何も表示されませんでした。アプリケーション プールの再起動時に、サイト レベルの負荷が発生していないように見えます。
ここに記載されているすべての設定は、Windows 8 の IIS 管理 UI からも利用でき、すべてが正しいように見えます。
他に何を確認するか、何が欠けているかについてのアイデアがありません。どんなアイデアでも大歓迎です。