【问题标题】:Trace messages not appearing in trace.axd跟踪消息未出现在 trace.axd 中
【发布时间】:2014-04-22 13:43:02
【问题描述】:

我正在尝试从 wcf 服务将消息写入 trace.axd 文件,但是我的跟踪消息根本没有到达。

我用来写消息的代码是:

System.Diagnostics.Trace.Write("Value updated to: " + value.ToString());

在我启用了跟踪的 web 配置文件中:

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

但是,当我查看 trace.axd 文件时,我的消息不可用。我什至已经浏览了代码,我知道它达到了 Trace.Write 值。

我能想到的唯一原因是因为该方法上面有 IgnoreDataMember。

有人知道吗?

【问题讨论】:

标签: c# asp.net trace


【解决方案1】:

当我看到pageOutput 属性时,这显然意味着您正在尝试配置仅适用于Web 应用程序的ASP .NET TraceTrace.axd 是由 ASP .NET Trace 生成的网页。

.NET 框架本身具有 .NET Trace,适用于各种应用程序或项目(Web 或 Windows 应用程序,或您的类库项目)。 System.Diagnostics.Trace.Write 是 .NET Trace 定义的函数。 默认情况下,.NET Trace 输出是 Visual Studio 中的输出窗口。如果您想将此输出转发到Trace.axd 页面,您需要按照 Mathew Paxinos 在下面的回答中建议的配置条目:

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

Source MSDN Article (2019 年 9 月 23 日验证)

【讨论】:

    【解决方案2】:

    如果您正在写入 System.Diagnostics.Trace,则需要将以下内容添加到您的 web.config 以使其将输出写入页面/trace.axd:

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

    感谢:http://msdn.microsoft.com/en-us/library/b0ectfxd%28v=vs.90%29.aspx

    这在从业务逻辑层或 Web 项目范围之外的其他对象写入跟踪时特别有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-16
      • 1970-01-01
      • 2020-09-21
      • 1970-01-01
      相关资源
      最近更新 更多