4

上部にログオン ユーザー コントロールがあるマスター ページを含むビューを返すアクションがあります。outputcache を設定すると、現在のユーザーを含む出力全体がキャッシュされるため、キャッシュを更新するために最後にページにアクセスした人が現在のユーザーとして表示されます。マスター ページがキャッシュに含まれないようにする方法はありますか?

次のコードを使用しています。

[OutputCache(Duration=3000, VaryByParam={params})]  
public ActionResult {actionName}({params})  
{  
    {codeGoesHere}  
}
4

2 に答える 2

1

「ドーナツ キャッシング」(出力キャッシュからページの一部を除外する)の概念がありましたが、asp.net MVC 1 では実現しませんでした。問題を解決するには、この回避策を試すことができます。

于 2010-01-20T08:18:42.763 に答える
1

出力キャッシュは、ビューではなくコントローラーに関連付けられています。コントローラーは、渡されたパラメーターに基づいて、さまざまなビューを返す場合があります。キャッシングは、パラメーターによっても実行できます(例のように)。コントローラーの結果がキャッシュされると、そのキャッシュされた値は、ビューの生成された html (存在する場合はマスター ページを含む) です。つまり、簡単に言えば、キャッシュからマスター ページを除外することはできません。

于 2010-01-20T08:14:01.900 に答える