Asp.net mvc 如何在注销时清除/终止浏览器缓存?

Asp.net mvc 如何在注销时清除/终止浏览器缓存?,asp.net-mvc,browser,caching,Asp.net Mvc,Browser,Caching,在我的ASP.net MVC应用程序中,我有几个视图要设置为保存在浏览器的缓存中。我已经建立了这样做的方法,但这是我的问题 我的站点中的菜单在登录和注销的访问者之间是不同的。如果已缓存登录页面,则即使用户注销,菜单仍保持登录模式。它实际上不是,但在访问者的浏览器上是 我如何才能清除/过期该缓存,以便访问者的浏览器在需要时更新,同时仍然能够使用浏览器缓存 提前谢谢 您可以通过操作方法上的AutoRefresh属性来执行此操作。以下是一些例子: [AutoRefresh(ControllerName

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

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

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


提前谢谢

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

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

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

另一方面,我对登录状态使用了甜甜圈缓存。但我无法让它与动态压缩一起工作(以减少上面提到的带宽瓶颈)

另见