在ASP.NET 4.0中缓存动态页面

时间:2011-12-16 10:00:44

标签: asp.net caching dynamic

这是我们的设置:

  

Windows 2003 Server Standard,SQL 2005和ASP.NET 4.0。

我们有一个新闻网站,网址的结构类似于www.domain.com/This-is-my-headline-123.aspx - 其中123是指向SQL数据库中记录的ID。

是否可以根据此URL进行缓存?如果可以,这将如何实现?我查看了ASP.NET缓存的VaryByParam选项,例如

<%@ OutputCache Duration="3600" VaryByParam="*"%>

但我不确定最佳做法是什么。我读过这个:

带有磁盘缓存的

Is DiskCacheProvider in ASP.Net 4.0 really exist?我认为这是可行的方法 - 但是你们/ gals是否有一些输入可以提供最佳技术以提高性能?

1 个答案:

答案 0 :(得分:1)

您可以使用VaryByParam根据查询字符串或POST参数更改输出缓存。

在你描述的情况下,你想要的是VaryByCustom。要使其工作,请覆盖Global.asax中的GetVaryByCustomString()方法。 ASP.NET将为您从该方法返回的每个唯一字符串存储不同版本的页面。