【问题标题】:How to trace Debug messages in ASP.net?如何在 ASP.net 中跟踪调试消息?
【发布时间】:2012-07-11 14:06:23
【问题描述】:

短版:我已添加

 <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 (Professional (Windows 7 (64-bit)))) 不抱怨?


背景

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" ... %>

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


但是 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 解释说,您可以通过 Web tracking 路由 Diagnostics tracking 使用:

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

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

要将 Trace 消息路由到 ASP.NET 网页,您必须添加一个 WebPageTraceListener 对象。

将以下代码放在您的 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。

比失败更糟糕?

【问题讨论】:

    标签: asp.net visual-studio-2010


    【解决方案1】:

    &lt;system.diagnostics&gt; 应该是 &lt;configuration&gt; 而不是 &lt;system.web&gt; 的孩子,所以类似于:

    <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>
    

    希望我正确理解了这个问题,这会有所帮助。

    【讨论】:

    • 它停止了 Visual Studio 抛出的错误(那是我的错,我在 system.web 之后阅读是在 &lt;system.web&gt; 之后而不是在 &lt;/system.web&gt; 之后)。不幸的是,事实证明 ASP.net 网站不支持WebPageTraceListener
    • 我猜你只剩下普通的旧 txt 文件了
    猜你喜欢
    • 1970-01-01
    • 2015-03-25
    • 1970-01-01
    • 2022-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-19
    相关资源
    最近更新 更多