我有一个带有自定义服务器端缓存系统的 ASP .NET 站点,这是一场噩梦。我想用 eTags 来代替它。
站点中的许多链接会根据用户的会话状态返回不同版本的页面。一个示例 - mypage.aspx?p=a 将返回不同版本的 mypage - 同样有效,具体取决于会话状态。我想缓存所有版本。
如果不完全重新设计导航链接,我该怎么做?根据我所读到的,在它们第一次生成和提供时在它们上放置一个不同的 eTag 只会导致最后生成的版本失效并从缓存中删除。
谢谢
PS我可以使用 Response.Cache.VaryByHeaders["Content-Length"] = true 并依赖每个版本的长度不同吗?
PPS 愚蠢的想法!将带有版本键的自定义标头添加到响应中并在其上使用 VaryByHeaders 怎么样。