我正在尝试使用我的MVC应用中的OutputCache
属性,当我使用OutputCacheLocation.Client
时它似乎不起作用:
public class HomeController : Controller
{
[OutputCache(Duration=15, Location=OutputCacheLocation.Client)]
public ActionResult Client()
{
ViewBag.Message = "The current time is " + DateTime.Now.ToString("hh:mm:ss");
return View();
}
[OutputCache(Duration=15, Location=OutputCacheLocation.Any)]
public ActionResult Any()
{
ViewBag.Message = "The current time is " + DateTime.Now.ToString("hh:mm:ss");
return View();
}
}
第一个不缓存。我每秒都会点击页面,它会改变时间。第二个工作。它只会每15秒更改一次。有什么我想念的吗?我正在使用IE8和Visual Studio中的内置开发服务器进行调试。
答案 0 :(得分:18)
如果您点击 F5 ,则表示您正在逐出客户端缓存。客户端缓存应该起作用的方式是,您在站点上指向来自某些其他视图的Client
操作的链接,当用户单击这些链接时,缓存版本将被提供(假设他当然会这样做)在页面缓存的时间间隔内。)