当我将缓存属性添加到控制器的ActionResult时,如下所示:
[OutputCache(CacheProfile = "Cache1Hour")]
和Web.config中的配置文件:
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="Cache1Hour" duration="3600" />
</outputCacheProfiles>
</outputCacheSettings>
</caching>
它会缓存用户与该页面的会话,因此该网站会在右上角显示用户的名称,它会显示缓存的用户而不是当前用户。 如何防止这种情况?我在MVC 3网站上没有这个问题。
答案 0 :(得分:0)
将varyByHeader="*"
添加到Web.config中的缓存配置文件似乎有效,因为标头包含会话cookie,但这会导致它为每个用户缓存一个页面,可能导致缓存溢出。
另一种选择可能是使用缓存用户控件输出的多个版本 https://msdn.microsoft.com/en-us/library/k4he1ds5(v=vs.110).aspx