2

階層データを表示する部分ビュー再帰呼び出しを含む MVC ビューがあります。

完全なツリーには通常、500 程度のアイテムが含まれます。

データはすべてモデルに含まれており、モデルは自明なレコード クラスであり、自動プロパティ以外には何も含まれていません。

IIS では、これは正常に機能します。

ただし、Cassini/WebDev (Visual Studio の組み込み Web サーバー) では、このページの実行が非常に遅くなり、タイムアウトになることがよくあります。

少し調べてみると、これは各呼び出しにHtml.RenderPartial約 200 ミリ秒 (または 1/5 秒) かかることが原因であることがわかります。実際の部分ビューには 1 ミリ秒程度かかるようです。

なぜこれがとても遅いのか誰にも分かりますか?

IIS と Cassini の違いはなぜですか? IIS アプリケーションは私の開発ディレクトリを指しています。それらはまったく同じコード、ビルド、構成を実行しています。

4

1 に答える 1

3

これは、ビュー解決パスのキャッシュに関連している可能性があると思います。ここの記事では、私が言及している問題について説明しています。

次のように、ビューのフル パスを渡すと、同じ動作に気付きますか。

 RenderPartial("~/Views/MyView.ascx")

親切、

ダン

于 2009-12-16T15:54:42.010 に答える