最初の要求に対する反応が遅いのは、IISが最初の着信要求でのみサイトまたはアプリケーションプールを開始/ロードするためです。そして、一定の時間が経過した後、サーバーに新しい着信要求が届かない場合、IISはサイトを再度停止します(アプリプールのリサイクル)。
ASP.NET 4.0には、自動起動と呼ばれる新しい機能があります。この機能を使用すると、アプリケーションプールまたは個々のサイトを設定して、要求の前に自身を開始できます。これは、起動時(IISの起動時)またはASP.NETサイトの更新時(サイトの停止時)にトリガーされます。
<applicationPools>
<add name="MyAppPool" managedRuntimeVersion="v4.0" startMode="AlwaysRunning" />
</applicationPools>
<sites>
<site name="MySite" id="1">
<application path="/" serviceAutoStartEnabled="true" />
</site>
</sites>
これを使用するにはIIS 7.5が必要です。
たとえば、自動起動が開始されたときに特定の追加タスクを実行するオプションもあります。データをキャッシュにプリロードします。