2010-09-09 39 views
2

我有一个ASP .NET网站,它是一个自定义的服务器端缓存系统,这是一场噩梦。我想用电子标签取代这个。eTag和许多版本的页面

根据用户的会话状态,站点中的许多链接会返回不同版本的页面。一个示例 - mypage.aspx?p = a将返回不同版本的mypage - 同样有效,具体取决于会话状态。我想缓存所有版本。

没有完全重新设计导航链接,我该怎么做?从我读过的内容来看,每次生成并投放不同的eTag时,都会导致最后生成的版本无效并从缓存中删除。

由于

PS我可以使用Response.Cache.VaryByHeaders [“内容长度”] =真和依靠每个版本在长度上不同?

PPS愚蠢的想法!那么添加一个带有版本关键字的自定义标题到响应中,并在其上使用VaryByHeaders。

回答

0

自定义标题的问题是,除非另一端的东西理解它们,它们将不会被回报。所以发送自定义标题到IE只会导致它忽略它们。

虽然可以使用输出缓存。可以创建自己的outputcache提供程序。这会让你根据你的需求搞砸缓存。有关输出缓存的详细信息,请参阅http://msdn.microsoft.com/en-us/library/hdxfb6cy(VS.90).aspx

它会出现outputcache提供者只是.net 4