ASP.NET缓存

问题描述:

我似乎无法让它“工作”。也许我甚至没有正确地测试它。我在我的aspx页面中有一个<%= DateTime.Now.ToString()%>行。我试过declarativly设置缓存这样ASP.NET缓存

<%@ OutputCache VaryByParam="SchoolId" Duration="180" Location="Server" NoStore="false" %> 

我也试着通过Response.Cache对象设置它编程。时间戳总是改变。

web.config最初没有outputCache部分。我添加了一个看起来像

<outputCache enableOutputCache="true" enableFragmentCache="true" sendCacheControlHeader="true" omitVaryStar="false"/> 

始终时间戳更改。我接下来要做什么?

呃。这个问题是一个Response.Cache.SetCacheability(HttpCacheability.NoCache)在Page_Load中的一个用户控件,隐藏在页面的三层深处。不过,我很感激帮助。

-al

我不认为这会工作,因为DateTime.Now是一个始终更新的属性。您必须将其保存在另一个变量中,否则从缓存中获取它。

嗯。我的大脑今天有点糊涂。我不确定这是否准确,因为它是输出缓存,但我现在没有时间模拟样本。

它应该很容易启用。我过去通过在aspx中设置OutputCache指令来完成它。我不认为web.config更改是必需的,因为默认情况下通常启用缓存。

您正在使用IIS或开发Web服务器进行测试吗?你是否正在做任何会导致Web服务器在你的测试之间重置(即进行构建)的任何事情?

+0

对于WebDev服务器,我体验到它不会缓存第一个请求。除此之外,我总是在不触及web.config的情况下正常工作。 – 2008-12-30 17:51:36