理解mvc中的缓存

本文关键字:缓存 mvc 理解 | 更新日期: 2023-09-27 18:06:35

在视图页面上,我已经在选项卡中加载了内容。在用户点击内标签我发送ajax请求的控制器发送回部分视图。一切工作,现在我想实现缓存这个选项卡内容。所以,我想在第一个标签调用内容被加载,然后缓存60秒,并为每个其他标签内容相同。

我试过这样做

[DonutOutputCache(Duration = 60, VaryByParam = "activeTab")]
public ActionResult GetTabData(string activeTab)
{....}

,但这显示缓存的第一个选项卡的内容在每个其他选项卡。

理解mvc中的缓存

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

使用输出缓存提高性能:

使用输出缓存提高性能