1

在 ASP.NET MVC 中,如果我没有[Duration=x, VaryByParam="None"]在我的局部视图上放置一个属性,或者如果我将其设置为 Duration=0,我有时会收到错误“Duration must be a positive number”。我已经阅读了很多关于这个主题的帖子,他们似乎都说包含非零持续时间的属性是避免该错误的唯一方法。

但是我根本不希望缓存数据(甚至不希望缓存 1 秒),在我看来,设置非零缓存持续时间几乎可以定义为启用缓存(对于我为持续时间指定的任何时间长度) .

我读过的所有帖子似乎都忽略了这一点,并谈论使用 Duration 设置属性作为避免缓存的方式,但这对我来说没有任何意义。如何完全避免缓存在特定的局部视图上?另外,有没有办法在我的整个 ASP.NET MVC 应用程序中禁用缓存?

4

2 回答 2

1

NoCache如果不想缓存,您应该设置一个属性。看看这个答案:https ://stackoverflow.com/a/1705113/2385

于 2012-08-06T13:47:37.380 回答
0

感谢大家的意见。关于客户端问题的评论很有帮助。最后,事实证明问题是由于默认情况下在 Internet Explorer 中启用了 ajax 缓存。解决方案是使用 JQuery 调用禁用该缓存,如下所示:

$.ajaxSetup({ cache: false });
于 2012-08-17T20:55:07.993 回答