0

ASP.NET 3 と .NET 4、およびいくつかの異なる IIS (7、8、および Express バージョン) を使用しています。

サーバーへのすべてのリクエストは、リクエストの内容に関係なく、約 10 秒程度の長い時間がかかります。(デバッガーをアタッチすることで) コントローラー メソッドがすぐに呼び出され、すぐに (ミリ秒以内に) 戻ることがわかります。

また、GET が完了すると、ブラウザーがレンダリングなどをすばやく (ミリ秒以内) 終了することもわかります。したがって、遅延は、たとえば「return View(whatever)」と GET の完了の間です。これは、ビューのコンパイルのようなものを示唆していますが、すべてのリクエストで発生するため、最初のリクエストの後にビューをコンパイルするべきではありませんか?

View プリコンパイルを使用することもできますが、残念ながら有効にすると多くのエラーが発生するため、機能させるために Web プロジェクト全体を再構築する必要はありません。上で述べたように、ビューは最初の使用時にコンパイルする必要があるため、プリコンパイルは特定のビューを使用する最初のリクエストでのみ役立つはずです。

これを診断し、実際に時間がかかっているものを見つける方法はありますか?


編集:すべてのページでレンダリングされる部分ビューの 1 つを取り出した後、突然すべてが高速になります。現在、そのビューを調査しています。

4

1 に答える 1