Asp.net MVC输出缓存

Jos*_*e3d 0 model-view-controller asp.net-mvc

我在考虑使用输出缓存属性来缓存MVC中的视图.

我的问题很简单:

当我在操作方法之上使用输出缓存属性时,如果在下一个请求中缓存了视图,则操作不会执行吗?

ale*_*exn 5

是的,你是对的.这很容易测试:

[OutputCache(Duration=10, VaryByParam="id")]
public function TestCache()
{
    return Content(" I was generated at " + DateTime.Now);
}
Run Code Online (Sandbox Code Playgroud)

但是,您可以使用VaryByParam属性使缓存无效,该属性允许您根据请求参数或类似操作来控制缓存.

在我的示例中,缓存将根据请求参数中指定的id而变化.当您拥有一个从数据库加载数据的动态页面时,这非常有用.