我正在阅读有关MVC2的书,并且在OutputCache部分中指出:
在MVC3中仍然如此吗?
如果是肯定的,那么防止这种情况发生的方法是什么? (因为书中的解释太含糊)。
问候。
最佳答案
我认为是这样。
当您使用OutPutCache缓存数据时,这些数据被全局缓存。只要用户被授权,该用户就会获得缓存的数据。
是的,我们为outputcache提供了“VaryByParam”选项,但它还会为传递的每个不同参数创建一个新的缓存。这意味着它仍然是全局性的。
因此,如果您要基于用户缓存不同的数据,则outputcache可能不是正确的方法。如果数据是用户特定的,则 session 是正确的选择。这是 session 的目的
关于asp.net-mvc - MVC3中的OutputCache和Authorize过滤器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6731959/