ASP.NET MVC 视图和控制器输出缓存
Posted
技术标签:
【中文标题】ASP.NET MVC 视图和控制器输出缓存【英文标题】:ASP.NET MVC View and Controller Output Caching 【发布时间】:2010-10-25 09:50:03 【问题描述】:使用输出缓存有什么区别
在视图中:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<Mahmure.WebUI.ViewModels.NewsletterVM>" %> <%@ OutputCache Duration="120" VaryByParam="none" %>
在控制器中:
[OutputCache(Duration = 120, VaryByParam = "none")] public ActionResult Index()
【问题讨论】:
区别在于视图级缓存与操作级缓存。 ASP.NET MVC 目前不完全支持前者。 【参考方案1】:在 ASP.NET MVC 模型中,在控制器操作上使用属性更正确,因为 URL 不再由视图(就像在经典 WebForms 中那样)决定,而是由路由决定,并且控制器操作首先获得请求并决定是否从缓存中获取。
【讨论】:
以上是关于ASP.NET MVC 视图和控制器输出缓存的主要内容,如果未能解决你的问题,请参考以下文章