我们正在使用 MVC Donut Caching,并且整天都在尝试调试这个问题,但我仍然没有找到解决方案。
我们已选择开始在 OutputCache 上使用 DonutOutputCache 属性,并且通过日志记录注意到某些具有 DonutOutputCache 属性的部分视图操作未根据缓存参数进行缓存。
我们有一个带有以下嵌套部分视图的视图(索引)。具有指定的甜甜圈缓存属性的那些列在方括号中。
- _LayoutMainBase.cshtml
- _Header(部分视图)
- _HeaderBottomStrip(部分视图)
- _HeaderMainMenu (ParialView)
[DonutOutputCache(Duration = 3600)]
- _HeaderMainMenu (ParialView)
- _HeaderBottomStrip(部分视图)
- RenderBody() (HomeController.Index)
[DonutOutputCache(Duration = 3600)]
- ...
- _Header(部分视图)
通过日志记录,我们发现_HeaderMainMenu Partial View Action 实际上在不到一个小时的时间内被多次调用。
这没有发生:
- 如果我们恢复到 OutputCache 属性
- 在我们的工作站上进行本地测试时
关于可能是什么原因的任何见解?
谢谢你的帮助!