这是我们的设置:
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是否有一些输入可以提供最佳技术以提高性能?
答案 0 :(得分:1)
您可以使用VaryByParam根据查询字符串或POST参数更改输出缓存。
在你描述的情况下,你想要的是VaryByCustom。要使其工作,请覆盖Global.asax中的GetVaryByCustomString()方法。 ASP.NET将为您从该方法返回的每个唯一字符串存储不同版本的页面。