こんにちは、ご提案いただきありがとうございます。
Windows2012 Server IIS8 でホストされている C#.NET 4.0 MVC アプリケーションがあります (ただし、W2008R2 および IIS7.5 でも同じ問題が再現されます)。
新しいセッションごとに、読み込みに約 10 秒かかります。これは「アイドル タイムアウト」とは関係ありません。アイドル タイムアウトは 120 分に設定されています。Chrome と IE を開き、1 つのブラウザでログアウト ページに移動すると、10 秒かかります。ページが読み込まれると (アプリケーションがコンパイルされていると仮定します)、IE を使用して同じページに移動します - 10 秒かかります。ページを更新すると、後続のページと同様に、約 1 秒で元に戻ります。ブラウザーを閉じてすぐに再起動すると、最初のページにアクセスするのに 10 秒かかります。ネットワーク関連の遅延を解消するために、ローカルホストで試してみました。
を使用してIISを「監視」しようとしました
C:\Windows\System32\inetsrv>appcmd list requests
REQUEST "fb0000048000c8d0" (url:GET /logout, time:9828 msec, client:fe80::4e6:dd83:6fd2:c1f8%12, stage:AcquireRequestState, module:Detector)
ワーカー プロセスの実行に最も時間がかかることがわかります。セキュリティで保護されていないため、「ログアウト」ページを使用しています。ここのWeb.configは読み取ります
<location path="logout">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
最後に、コントローラーでデバッグ プリントを導入し、cshtml ページに複製しました。
2013-04-30 13:09:48,784 [56] ERROR [(null)] <(null)> - Start Controller
2013-04-30 13:09:48,842 [56] ERROR [(null)] <(null)> - Return view in Controller
ビューの出力: 30/04/2013 13:09:50
これは、コントローラーの実行とビューのレンダリングが遅延の原因ではないと私に信じさせます。
アイデアやコメントは大歓迎です。情報不足がありましたら申し訳ありません。