我的孩子的行为没有被缓存。我不知道为什么。
我的母版页调用子操作:
@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成功缓存整个页面。这只是甜甜圈洞的缓存对我不起作用。
答案 0 :(得分:1)
尝试按以下方式设置OutputCacheAttribute:
[OutputCache(Duration=3660, VaryByParam="selectedMarket")]
这将为每个selectedMarket创建一个单独的缓存(我想这就是你需要的)。如果有帮助,请告诉我。