OutputCache Location =客户端似乎不起作用

时间:2012-03-06 21:34:40

标签: c# asp.net-mvc outputcache

我正在尝试使用我的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中的内置开发服务器进行调试。

1 个答案:

答案 0 :(得分:18)

如果您点击 F5 ,则表示您正在逐出客户端缓存。客户端缓存应该起作用的方式是,您在站点上指向来自某些其他视图的Client操作的链接,当用户单击这些链接时,缓存版本将被提供(假设他当然会这样做)在页面缓存的时间间隔内。)