第二次请求后,HttpContext.Current.Trace.IsEnabled莫名其妙地变为false

时间:2011-11-09 14:55:23

标签: c# asp.net .net trace

在我的web.config中,启用了跟踪。在第一个请求中,显示页面跟踪。然后在第二页上,Trace.IsEnabled变为false。我不记得曾经见过这种行为。我搜索了源代码的所有内容,我找不到任何可能禁用它的Trace引用。

参考。的web.config

<trace enabled="true" localOnly="false" pageOutput="true" />

这是我目前的工作,在global.asax中,我添加了这个

protected void Session_Start(object sender, EventArgs e)
{
if(HttpContext.Current.Trace.IsEnabled) //True on 1st request
    Session["TraceEnabled"] = true;

然后我将其添加到自定义基页中的早期事件中。

if (Session["TraceEnabled"] != null)
    HttpContext.Current.Trace.IsEnabled = true;

跟踪然后按预期恢复。

为什么追踪会自动关闭?我宁愿解决根本问题而不是笨拙的工作。

1 个答案:

答案 0 :(得分:4)

是否已尝试增加配置文件的requestLimit属性?

<configuration>
  <system.web>
    <trace enabled="true" pageOutput="false" requestLimit="40" localOnly="false"/>
  </system.web>
</configuration>