在ASP.NET MVC中,如果我没有在我的局部视图上放置一个[Duration=x, VaryByParam="None"]属性,或者如果我把它放在Duration=0上,我有时会得到错误“持续时间必须是一个正数”。我读过很多关于这个主题的帖子,他们似乎都说,包含具有非零持续时间的属性是避免该错误的唯一方法。
但我根本不想缓存数据(甚至不是1秒),而且在我看来,设置一个非零的缓存持续时间几乎按照定义就是启用缓存(对于我为持续时间指定的任何时间长度)。
我读过的所有帖子似乎都忽略了这一点,并谈论设置一个带有持续时间的属性作为避免缓存的方法,但这对我来说没有任何意义。我如何才能完全避免在特定的局部视图上缓存?另外,有没有办法在我的整个ASP.NET应用程序中禁用缓存?
发布于 2012-08-18 04:55:08
感谢您的所有投入。关于客户端问题的评论很有帮助。最后,问题是由于在Internet Explorer中默认启用了ajax缓存。解决方案是通过JQuery调用禁用缓存,如下所示:
$.ajaxSetup({ cache: false });发布于 2012-08-06 21:47:37
如果不想缓存,应该设置一个NoCache属性。看看这个答案:https://stackoverflow.com/a/1705113/2385
https://stackoverflow.com/questions/11758109
复制相似问题