2009-06-14 168 views
3

在我的ASP.net MVC應用程序中,我有幾個要設置保存在瀏覽器緩存中的視圖。我有這樣做的方法,但這是我的問題。如何在註銷時清除/終止瀏覽器緩存?

我的網站中的菜單在登錄和註銷訪問者之間是不同的。如果登錄頁面被緩存,那麼即使用戶註銷菜單仍保持登錄模式。實際上不是,但是在訪問者的瀏覽器上。

如何清除/過期緩存,以便訪問者的瀏覽器在需要時更新,但仍能夠使用瀏覽器緩存?

在此先感謝!

回答

3

對於HTML頁面很困難。我出於同樣的原因關閉了客戶端緩存,並試圖儘可能提高服務器緩存的效率。我現在使用OutputCache將VaryByCustom設置爲登錄狀態。

我們對該系統進行了一些負載測試,唯一的瓶頸就是產生的帶寬。

並在旁註:我使用甜甜圈緩存的登錄狀態。但我無法使它與動態壓縮一起工作(以減少上述帶寬瓶頸)

另請參見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() 
{ 
}