2009-06-14 27 views
3

私のASP.net MVCアプリケーションでは、ブラウザのキャッシュに保存するように設定したいいくつかのビューがあります。私はそれを行うための方法を持っているが、ここに私の問題です。ログオフ時にブラウザのキャッシュをクリア/有効にするにはどうすればよいですか?

私のサイトのメニューは、ログインしたユーザーとログオフした訪問者によって異なります。ログインしたページがキャッシュされている場合、ユーザーがログオフしても、メニューはログインしたままです。実際にはそうではありませんが、その訪問者のブラウザ上にあります。

キャッシュの消去/有効期限を設定して、訪問者のブラウザが必要なときに更新されるようにするにはどうすればよいですか?ただし、ブラウザキャッシュを利用できるようにするにはどうすればよいですか?

ありがとうございます!

答えて

3

HTMLページの場合は難しいです。私は同じ理由でクライアントのキャッシュをオフにし、サーバーをできるだけ効率的にキャッシュしようとしました。私は今、VaryByCustomをログイン状態に設定してOutputCacheを使用します。

システムで負荷テストをいくつか実行しましたが、唯一のボトルネックは、これが生成する帯域幅だけでした。

サイドノート:私はログインステータスにドーナツキャッシングを使用しました。しかし、私はそれが

this question

を参照してください(上記の帯域幅のボトルネックを軽減するために)動的圧縮で動作するように取得することができませんでした
0

アクションメソッドでは、AutoRefresh属性を使用することができます。いくつか例があります:

[AutoRefresh(ControllerName = "Home", ActionName = "About", DurationInSeconds = 10)] 
public ActionResult Index1() 
{ 
} 
AutoRefresh(ActionName = "About", DurationInSeconds = 15)] 
public ActionResult Index2() 
{ 
} 
[AutoRefresh(RouteName = "ByFavoriteRoute", DurationInSeconds = 30)] 
public ActionResult Index3() 
{ 
} 
[AutoRefresh(DurationInSeconds = 45)] 
public ActionResult Index4() 
{ 
} 
関連する問題