代码之家  ›  专栏  ›  技术社区  ›  Al W

ASP.NET缓存

  •  3
  • Al W  · 技术社区  · 16 年前

    我好像不能让它“工作”。也许我甚至没有正确地测试它。我的ASPX页面中有一行<%=datetime.now.toString()%>。我试过像这样设置缓存声明

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

    我还尝试通过response.cache对象以编程方式设置它。时间戳总是变化的。

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

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

    时间戳总是更改的。我下一步怎么办?

    3 回复  |  直到 16 年前
        1
  •  3
  •   Al W    16 年前

    呃。问题是用户控件的页面加载中的响应.cache.setcacheability(httpcacheability.nocache)隐藏在页面的3层深处。不过,我很感谢你的帮助。

    - al

        2
  •  2
  •   Jason    16 年前

    它应该很容易启用。我以前是通过在ASPX中设置outputcache指令来完成的。我不认为需要更改web.config,因为缓存通常是默认启用的。

    您正在使用IIS或Dev Web服务器进行测试吗?您是否在测试之间执行任何会导致Web服务器重置(即执行生成)的操作?

        3
  •  1
  •   Steven Behnke    16 年前

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

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