【问题标题】:How to clear/expire browser cache on log off?如何在注销时清除/过期浏览器缓存?
【发布时间】:2010-11-02 18:59:38
【问题描述】:

在我的 ASP.net MVC 应用程序中,我有几个要设置为保存在浏览器缓存中的视图。我已经建立了执行此操作的方法,但这是我的问题。

我网站中的菜单在登录和注销访问者之间是不同的。如果登录页面被缓存,那么即使用户注销菜单仍保持登录模式。实际上不是,但在访问者的浏览器上却是。

如何清除/过期缓存,以便访问者的浏览器在我需要时更新,但仍然能够使用浏览器缓存?

提前致谢!

【问题讨论】:

    标签: asp.net-mvc browser caching


    【解决方案1】:

    对于 HTML 页面,这很困难。出于同样的原因,我关闭了客户端缓存,并尝试使服务器缓存尽可能高效。我现在使用 OutputCache 并将 VaryByCustom 设置为登录状态。

    我们在该系统上运行了一些负载测试,唯一的瓶颈是它产生的带宽。

    附带说明:我使用甜甜圈缓存作为登录状态。但我无法让它与动态压缩一起工作(以减少上面提到的带宽瓶颈)

    另见this question

    【讨论】:

      【解决方案2】:

      您可以在您的操作方法上使用 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()
      {
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-15
        • 1970-01-01
        • 2013-07-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多