Asp.net 页面输出缓存不使用跟踪

Asp.net 页面输出缓存不使用跟踪,asp.net,caching,stack-trace,Asp.net,Caching,Stack Trace,我在.aspx页面中添加了以下代码: <%@ Page Language="C#" AutoEventWireup="true" Inherits="CarWale.CarDataIO.MasterDataEntry" Trace="true"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.

我在.aspx页面中添加了以下代码:

<%@ Page Language="C#" AutoEventWireup="true" Inherits="CarWale.CarDataIO.MasterDataEntry" Trace="true"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ OutputCache Duration="10" VaryByParam="none" %>

<head runat="server">
<title>Master Data Entry</title>
<link href="/css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<div> <%= DateTime.Now.ToString() %></div>
</form>
</body>
</html>
当上面的页面以Trace=false呈现时,代码按预期完美运行。页面正在缓存,日期时间按预期每10秒更改一次

但是,当应用Trace=true时,所有页面缓存都会丢失,并且每次页面刷新时,甚至在10秒的持续时间完成之前,日期时间都会发生变化。这是ASP.NET框架中的一个严重错误。
有人能告诉我哪里出了问题吗?

我不相信这是一个bug,只是跟踪并允许它输出到页面的结果

如果您在web.config中使用这些设置进行跟踪,它应该可以工作

<trace enabled="true" requestLimit="1000" localOnly="false" pageOutput="false"/>
在这里,pageOutput=false将阻止跟踪直接显示在页面上,并且现在只能通过访问。要查看跟踪,只需将\trace.axd附加到asp.net页面的url中,然后选择default.aspx即可获得与之前相同的结果页面

禁用pageOutput后,跟踪将不再阻止输出缓存