我正在尝试为我们的公共站点设置全局服务器端输出缓存。我可以看到有一个OutputCache属性可以让你控制它。如果我在filterConfig中全局注册它,这样可以正常工作
filters.Add(new OutputCacheAttribute() { Duration = 3600, VaryByParam = "*" });
问题是这会在客户端启用缓存,这会导致我们设置的某些重定向逻辑出现问题。所以我们需要
但是如果将location属性设置为Server
filters.Add(new OutputCacheAttribute() { Duration = 3600, VaryByParam = "*", Location = OutputCacheLocation.Server });
然后这会在某些带有子操作的页面上导致以下异常。
子操作的OutputCacheAttribute仅支持Duration,VaryByCustom和VaryByParam值。请不要为子操作设置CacheProfile,Location,NoStore,SqlDependency,VaryByContentEncoding或VaryByHeader值
有没有办法在全球范围内启用服务器端缓存?任何人都可以解释为什么这不起作用?