MVC 3子操作未使用OutputCache属性进行高速缓存

时间:2012-04-19 14:56:06

标签: asp.net-mvc-3 outputcache

我的孩子的行为没有被缓存。我不知道为什么。

我的母版页调用子操作:

@Html.Action("Header", "Layout", new { selectedMarket = Model.SelectedMarket })

    [ChildActionOnly]
    [OutputCache(Duration=60)]
    public PartialViewResult Header(Guid selectedMarket)
    {
        var model = _marketService.GetHeaderViewModel(selectedMarket);
        return PartialView(model);
    }

执行此子操作,并在每个请求上重新呈现部分。

注意:我可以使用OutputCache成功缓存整个页面。这只是甜甜圈洞的缓存对我不起作用。

1 个答案:

答案 0 :(得分:1)

尝试按以下方式设置OutputCacheAttribute:

[OutputCache(Duration=3660, VaryByParam="selectedMarket")]

这将为每个selectedMarket创建一个单独的缓存(我想这就是你需要的)。如果有帮助,请告诉我。