启用页面缓存
在MVC3中如果要启用页面缓存,需要在页面对应的Action前面加上一个OutputCache属性。
@{ ViewBag.Title = "主页"; } <!DOCTYPE html> <html> <head> <title>页面缓存</title> </head> <body> 现在时间:@DateTime.Now.ToString("T") </body> </html>
在Controller中添加对应的Action,并加上OutputCache属性。
[OutputCache(Duration=5, VaryByParam="none")] public ActionResult Index() { return View(); }
刷新页面即可看到页面做了一个10s的缓存。当页面中数据不是需要时时的呈现给用户时,这样的页面缓存可以减小时时的对数据处理和请求,当然这是针对整个页面做的缓存,缓存的力度还是比较粗的。
缓存的位置
可以通过设置缓存的Location属性,决定将缓存放置在何处。
Location可以设置的属性为(Any Client Downstream Server None ServerAndClient)
Location的默认值为Any。一般推荐将用户的信息存储在Client端,一些公用的信息存储在Server端。
加上Location应该是这样的。
[OutputCache(Duration=5, VaryByParam="none",Location=OutputCacheLocation.Client ,NoStore=true)] public ActionResult Index() { return View(); }
配置文件中通用设置
当我们需要对多个Action进行统一的设置时,可以在web.config文件中统一配置后进行应用即可。
在web.config中配置下Caching节点
<caching> <outputCacheSettings> <outputCacheProfiles> <add name="Cache1Hour" duration="3600" varyByParam="none"/> </outputCacheProfiles> </outputCacheSettings> </caching>
那么在Action上使用该配置节点即可,这样的方法对于统一管理配置信息比较方便。
[OutputCache(CacheProfile="Cache1Hour")] public ActionResult Index() { return View(); }
时间: 2024-10-15 05:55:52