0

ビューページで、タブ内にコンテンツをロードしました。ユーザーがタブ内をクリックすると、部分ビューを送り返すコントローラーにajaxリクエストを送信しています。すべてが機能し、このタブのコンテンツにキャッシュを実装したいと考えています。したがって、最初のタブ コール コンテンツをロードしてから 60 秒間キャッシュする必要があります。他のすべてのタブのコンテンツについても同じです。

私はこのようなことを試しました

[DonutOutputCache(Duration = 60, VaryByParam = "activeTab")]
public ActionResult GetTabData(string activeTab)
{....}

ただし、これは最初のタブのキャッシュされたコンテンツを他のすべてのタブに表示します。

4

3 に答える 3

0

以下のリンクを参照してください。出力キャッチで適切な詳細を提供します

ASP.NET MVC での出力キャッシュ

出力キャッシュによるパフォーマンスの向上:

出力キャッシュによるパフォーマンスの向上

于 2013-03-28T20:09:19.653 に答える
0

DonutOutputCache 属性はどこで定義されていますか? VaryByParam を適切に使用していない可能性がありますか?

MVC 3 では、組み込みの OutputCache 属性に VaryByParam オプションを指定する必要がなくなりました。

[OutputCache(Duration=60)]
public ActionResult GetTabData(string activeTab)
{....}

必要なものはすべて揃っているはずです。

于 2013-03-28T19:57:34.027 に答える
0

ASP MVC プロジェクトでアクションのキャッシュ属性を使用して成功したことはありません。私の同僚の 1 人は、彼がそれらを使用して動作すると言っていますが、私は常にこれを使用してキャッシュしないようにページに指示する必要がありました。

$.ajaxSetup({cache:false});

または $.ajax に cache: true / false を含める

$.ajax({ .... cache: false, ... });
于 2013-03-28T19:58:11.457 に答える