1

假设我正在使用CacheFilterAttribute

http://weblogs.asp.net/rashid/archive/2008/03/28/asp-net-mvc-action-filter-caching-and-compression.aspx

假设我要返回部分视图,其中填充了来自控制器的数据。

如果数据库中的数据更新了,我会得到更新的数据吗?

缓存了什么,是总响应还是只是文件?

4

2 回答 2

1

如果数据库中的数据更新了,我会得到更新的数据吗?

不。

缓存了什么,是总响应还是只是文件?

在缓存之前最后一次呈现给客户端的 HTML 标记。

于 2013-02-27T10:54:05.667 回答
1

我同意@Darin 的评论。您可以使用 OutputCache,而不是使用 CacheFilterAttribute。

namespace MvcApplication1.Controllers
{
    [HandleError]
    public class HomeController : Controller
    {
        [OutputCache(Duration=10, VaryByParam="none")]
        public ActionResult Index()
        {
            return View();
        }

    }
}

或者您可以创建输出缓存配置文件并指定此 web.config 文件。

请参阅http://msdn.microsoft.com/en-us/library/system.web.mvc.outputcacheattribute(v=vs.108).aspx

于 2013-02-27T16:58:14.007 回答