12

を呼び出すRazorEngine.Razor.Compile()と、コンパイルされたテンプレートはどこに保存されますか?

プログラムの再起動後に利用できますか? メモリ不足の場合、ダンプされますか?

ASP.NET ( MVC ) プロジェクトで使用RazorEngineしています。アプリケーションの再起動後に、コンパイル済みのテンプレートを使用できますか?

それらをに保存する方が理にかなっていHttpContext.Cacheますか?Compile私がそうした場合、内部キャッシュをバイパスする別の関数 ( 以外) を使用する方が理にかなっていますか? を実行しITemplateてモデルに渡す方法はありますか?

RazorEngine.Razor.Parse()キャッシュはありますか?または、テンプレートは毎回再コンパイルされますか?

4

2 に答える 2

19

現在、RazorEngine がテンプレートをコンパイルした後、それらはメモリに読み込まれます。これらのアセンブリはメモリにのみ保持され、アプリケーションの有効期間を超えて継続することはありません。

これらのアセンブリをファイルにコンパイルするためのサポートを追加することを検討していますが、それは将来のバージョンになります。

テンプレートの名前を呼び出しRazor.Parseて渡すと、

  1. 同じ名前のアセンブリのメモリ内アセンブリのキャッシュを確認します。
  2. テンプレートのコンテンツの無効なキャッシュが変更されました。
  3. 新しくコンパイルされたテンプレートをキャッシュします。
于 2012-05-22T22:12:56.587 に答える