我不知道为什么我不能让简单的输出缓存工作,也不知道如何调试这样的情况。
仅通过查看示例和我以前从事的项目,我使用了以下代码:
<%@ OutputCache Duration="100" VaryByParam="id" %>
但由于那不起作用,我尝试了 VaryByParam="*" 和 VaryByParam="none"
这些都不起作用。
是否有快速检查以确保其他东西不会干扰 OutputCache?
我不知道为什么我不能让简单的输出缓存工作,也不知道如何调试这样的情况。
仅通过查看示例和我以前从事的项目,我使用了以下代码:
<%@ OutputCache Duration="100" VaryByParam="id" %>
但由于那不起作用,我尝试了 VaryByParam="*" 和 VaryByParam="none"
这些都不起作用。
是否有快速检查以确保其他东西不会干扰 OutputCache?
如果您只是想查看 OutputCache 是否正常工作,您可以随时向页面添加一个标签,该标签仅绑定到当前日期时间。第一次加载它时,它会为您提供标签绑定时间的时间戳。
下一次标签应该更新是在缓存过期并且再次点击页面之后。
<%@ OutputCache duration="120" varybyparam="None" varybycustom="Browser" %>
<asp:Label ID="Testlabel" runat="server" Text=""><%= DateTime.Now %></asp:Label>
您仅将其缓存 100 秒,您是否尝试过更长的值?在 Visual Studio 中启动调试器可能需要 100 秒(或更长时间!)。你也试过没有 VaryByParam 吗?
这类似于 womps 的答案,但有一些更正。
如果您只是想查看 OutputCache 是否正常工作,您始终可以包含当前日期时间。第一次加载它时,它会为您提供标签绑定时间的时间戳。换句话说,缓存已准备好。如果您重新加载页面,则日期应该与缓存的输出相同。一旦缓存过期,日期时间将再次更新并重复循环。
<%@ OutputCache duration="120" varybyparam="None" %>
<%= DateTime.Now %>