0

私は2つのことを試しました。1 つは aspnet_compiler を使用して ASP.NET MVC 3 プロジェクトをプリコンパイルしており、もう 1 つはプロジェクトで RazorGenerator を使用してビューをコンパイルできるようにしています。両方の方法を使用しても、サイト内のページは最初のアクセスでコンパイルする必要があることがわかります。最初にアクセスしたときに csc.exe がサーバー上で実行されているのを確認しましたが、次回は発生しません。これらのプリコンパイル手順がこれを防止せず、初回アクセスを高速化できるのはなぜですか?

4

1 に答える 1

1

アプリケーションをプリコンパイルしても、最初のリクエストの起動時間は改善されません。これは、最初のリクエストが到着したときに、まだ多くのことを行う必要があるためです。

  • Application_Start メソッドが実行されます
  • コントローラーとビューの場所が取得され、後続の要求のためにキャッシュされます
  • ...

AutoStart featureWeb サーバーの起動時にアプリケーションをメモリにプリロードする場合は、IIS 7.5 および ASP.NET 4.0 を使用できます。このようにして、アプリケーションはホットになり、最初のリクエストを待ちます。

于 2012-12-13T20:16:20.260 に答える