在我的ASP.net MVC應用程序中,我有幾個要設置保存在瀏覽器緩存中的視圖。我有這樣做的方法,但這是我的問題。如何在註銷時清除/終止瀏覽器緩存?
我的網站中的菜單在登錄和註銷訪問者之間是不同的。如果登錄頁面被緩存,那麼即使用戶註銷菜單仍保持登錄模式。實際上不是,但是在訪問者的瀏覽器上。
如何清除/過期緩存,以便訪問者的瀏覽器在需要時更新,但仍能夠使用瀏覽器緩存?
在此先感謝!
在我的ASP.net MVC應用程序中,我有幾個要設置保存在瀏覽器緩存中的視圖。我有這樣做的方法,但這是我的問題。如何在註銷時清除/終止瀏覽器緩存?
我的網站中的菜單在登錄和註銷訪問者之間是不同的。如果登錄頁面被緩存,那麼即使用戶註銷菜單仍保持登錄模式。實際上不是,但是在訪問者的瀏覽器上。
如何清除/過期緩存,以便訪問者的瀏覽器在需要時更新,但仍能夠使用瀏覽器緩存?
在此先感謝!
對於HTML頁面很困難。我出於同樣的原因關閉了客戶端緩存,並試圖儘可能提高服務器緩存的效率。我現在使用OutputCache將VaryByCustom設置爲登錄狀態。
我們對該系統進行了一些負載測試,唯一的瓶頸就是產生的帶寬。
並在旁註:我使用甜甜圈緩存的登錄狀態。但我無法使它與動態壓縮一起工作(以減少上述帶寬瓶頸)
另請參見this question
您可以在您的操作方法中使用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()
{
}