0

以下を使用RazorEngineして、テンプレートを解析するために使用しています。

string parsedText = Razor.Parse(template, model, "cache");

まず、3 番目のパラメーターを 'cache' として指定しなかった場合、このメソッドの呼び出しには 500 ~ 1000 ミリ秒かかります。そのパラメータを渡すと、最初は 500 ~ 1000 ミリ秒かかりますが、その後の呼び出しにはほとんど時間がかかりません (0 ~ 1 ミリ秒)。

これは、Asp.Net MVC Web アプリケーションのコンテキストで実行されます。ただし、リクエストがリフレッシュされると、これも初めて 500 ~ 1000 ミリ秒かかります。

なぜそんなに時間がかかるのか、何ができるのでしょうか?

RazorEngine 3.2.0.0 と .Net 4.5 を使用しています。

4

2 に答える 2

1

カミソリページをコンパイルする必要があるため、リクエストには時間がかかります...

このプリコンパイルのかみそりのページを読む

やあ

于 2013-04-16T18:55:33.150 に答える
0

問題は 3 番目のパラメーターでしたcacheName。これは、一意のテンプレートごとに一意のキャッシュ キーである必要があります。

これをテンプレートに基づいて毎回別のものに変更しましたが、今では完全かつ非常に高速に機能しています.

問題は、1 つのテンプレートだけで単体テストを行っていたことですが、実際の環境ではテンプレートが変更されていました。キャッシュ名キーは静的であったため、テンプレート キャッシュは常に無効化されていました。

于 2013-04-17T10:51:34.843 に答える