2017-05-01 14 views
2

MSDNとGoogleの回答を得ようとしましたが、見つからなかった。ASP.NETビューのコンパイル頻度と頻度

私は、ビューのコンパイルを理解する必要があるMVCアプリケーションのパフォーマンスの最適化に取り組んでいます。

  1. asp.net MVCビューはいつコンパイルされますか?
  2. アプリケーションの起動時またはリクエストごとにすべてのビューがコンパイルされますか?
  3. コンパイル済みのビューは、アプリケーションプールが再起動されるまで使用されると仮定します。これは正しいです?

答えて

2

いつasp.net mvcビューがコンパイルされますか?

ビューは、最初のリクエストがヒットしてビューを返すアクションを実行するときにコンパイルされます。

すべてのビューは、アプリケーションの起動時またはリクエストごとにコンパイルされますか?

いいえアプリケーション起動時ではありません。リクエストごとではありません。 リクエストA返信a V1を返します。 V1がコンパイルされます。次にリクエストBが到着し、同じものを必要とする場合ビューV1ビューは再コンパイルせずに返されます。

コンパイルビューは、アプリケーションプールが再起動されるまで使用されると仮定しますか?

いいえ、アプリケーションプールの再起動時に1回のみコンパイルされ、再コンパイルされません。

アプリケーションを公開する前にビューをプリコンパイルしてみませんか?

アプリケーションをビルドするときに、MVCビューをプリコンパイルすることができます。つまり、あなたのMVCプロジェクトをアンロードし、次のXML要素これに

<MvcBuildViews>false</MvcBuildViews> 

を変更する必要があります

<MvcBuildViews>true</MvcBuildViews> 

UPDATES:

として無記号しゃれは私の意見にそれを発見しました答えは、linkMvcBuildViews要素については、csprojファイル。

だから記事の著者から:

MvcBuildViewsは、Webアプリケーションの構築プロセスの一環として、景色の建物を作るためにここにあります。バイナリフォルダへの出力は生成されません。ビューはパブリッシュ・プロセス中にプリコンパイルされ、プリコンパイルはビューが変更される予定がない場合にのみ発生します。プリコンパイルの仕方を設定することができます。このようにして、プリコンパイルされたビューのバイナリを1つのアセンブリにマージすることができます。

+1

MvcBuildViewsは、ここで詳細を参照してくださいプリコンパイルされたビューの活性化につながらない。ただ、新しいことを学んだhtt​​p://gunnarpeipman.com/2016/08/asp-net-mvc-precompiling-views/ –

+0

ハム:) 今日。ありがとう。 – CodeNotFound

関連する問題