理解mvc中的缓存
本文关键字:缓存 mvc 理解 | 更新日期: 2023-09-27 18:06:35
在视图页面上,我已经在选项卡中加载了内容。在用户点击内标签我发送ajax请求的控制器发送回部分视图。一切工作,现在我想实现缓存这个选项卡内容。所以,我想在第一个标签调用内容被加载,然后缓存60秒,并为每个其他标签内容相同。
我试过这样做
[DonutOutputCache(Duration = 60, VaryByParam = "activeTab")]
public ActionResult GetTabData(string activeTab)
{....}
,但这显示缓存的第一个选项卡的内容在每个其他选项卡。
DonutOutputCache属性定义在哪里?也许它没有正确使用VaryByParam?
在MVC 3中,你不再需要在内置的OutputCache属性上指定VaryByParam选项。
[OutputCache(Duration=60)]
public ActionResult GetTabData(string activeTab)
{....}
我从来没有成功地在我的ASP MVC项目中使用动作缓存属性。我的一个同事说,他使用它们,它工作,但我总是不得不告诉一个页面不缓存使用这个:
$.ajaxSetup({cache:false});
或者在$.ajax
中包含cache: true/false$.ajax({ .... cache: false, ... });
请参考以下链接。在输出中给出适当的细节
ASP中的输出缓存。净MVC
使用输出缓存提高性能:
使用输出缓存提高性能