如何在ASP.net中跟踪调试消息?

时间:2012-07-11 14:06:23

标签: asp.net visual-studio-2010

简短版本:我添加了

 <system.web>
   <system.diagnostics>
      <trace>
         <listeners>
            <add name="WebPageTraceListener" type="System.Web.WebPageTraceListener, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
         </listeners>
      </trace>
   </system.diagnostics>

到我的网站的 web.config 文件,但Visual Studio抱怨:

  

无法识别的配置部分system.web / system.diagnostics。

如何使Visual Studio(2010(专业版(Windows 7(64位)))不抱怨?


背景

Microsoft解释说,在ASP.net中,您使用TraceContext.Warn方法将跟踪信息添加到跟踪输出中,例如:

Page.Trace.Warn("Starting up - da shield");

然后追踪enabled when you enable tracing

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

或启用跟踪时:

<%@ Page ... Trace="true" ... %>

然后在页面底部启用跟踪:

enter image description here


但是System.Diagnostics跟踪呢?

这对ASP.net代码来说很好,但业务对象不使用 System.Web.UI.TraceContext 进行跟踪,他们使用System.Diagnostics.Trace

System.Diagnostics.Trace.TraceWarning("No giving up General Jar Jar. Yousa tink of someting");

Microsoft解释说您可以路由Diagnostics跟踪Web跟踪使用:

  

Walkthrough: Integrating ASP.NET Tracing with System.Diagnostics Tracing

     

将所有跟踪输出路由到网络表单

     

要将跟踪消息路由到ASP.NET网页,必须添加WebPageTraceListener对象。

     

将以下代码放在&lt; system.web&gt; 部分之后的Web.config文件中。

<system.diagnostics>
  <trace>
    <listeners>
       <add name="WebPageTraceListener" 
            type="System.Web.WebPageTraceListener, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    </listeners>
  </trace>
</system.diagnostics>

除了Visual Studio抱怨:

  

无法识别的配置部分system.web / system.diagnostics。

比失败更糟糕?

1 个答案:

答案 0 :(得分:3)

<system.diagnostics>应该是<configuration>而不是<system.web>的孩子,如下所示:

<configuration>
...
 <system.diagnostics>
  <trace>
    <listeners>
       <add name="WebPageTraceListener" 
            type="System.Web.WebPageTraceListener, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    </listeners>
  </trace>
</system.diagnostics>
</configuration>

希望我理解这个问题,这有帮助。