Windows Azure WebロールでASP.NETの自動起動をセットアップしました(Windows Server 2012でASP.NET 4.5とIIS 8を使用しています)。私は基本的にはthose instructionsに従った。IISの自動スタートでアイドルタイムアウトを無効にしない
webroleのOnStartメソッドを使用して、アプリケーションプールでstartMode="AlwaysRunning"
を、WebサイトでpreloadEnabled="true"
と設定しています。
リモートアクセスを使用して、これらの2つのプロパティが正しく設定されていることを確認しました(IISマネージャーとapplicationHost.configファイルをチェックすることによって)。
私はまた、web.configファイルにこれを追加しました:
<applicationInitialization skipManagedModules="true">
<add initializationPage="/" />
</applicationInitialization>
このpageは、自動起動が有効になっているときにアイドルタイムアウトを無効にする必要があり言います。しかし、私は私のログからそれがそうでないことを知ることができます、アプリケーションプールはいくつかの非アクティブ後に再起動されます。私はまた、イベントログにそれを見ることができます(複数回6時間以上は):
「cf9d3284-6454-4bbf-8a8e-efd73df4ed83」アプリケーションプールを提供している「772」のプロセスIDを持つワーカープロセスによるシャットダウンしました不活動に。アプリケーションプールのタイムアウト構成は20分に設定されていました。必要に応じて新しいワーカープロセスが開始されます。
奇妙なことは、ウェブサイトへのリクエストがなくても、これが記録された直後に新しいアプリケーションプールが開始されたようです。したがって、1時間で1回のリクエストが得られない場合、アプリケーションプールはリサイクルされ、3回再起動されます(これはログから確認済みです)。私の設定が間違っているか、何か不足していますか?