跟踪消息未出现在trace.axd中

时间:2014-04-22 13:43:02

标签: c# asp.net trace

我试图从wcf服务向trace.axd文件写入消息,但我的跟踪消息根本没有。

我用来编写消息的代码是:

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

在网络配置文件中,我启用了跟踪:

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

但是,当我查看trace.axd文件时,我的消息不可用。我甚至已经完成了代码,我知道它会触及Trace.Write值。

我唯一可以想到的是导致这种情况,因为该方法上面有IgnoreDataMember。

有没有人有任何想法?

2 个答案:

答案 0 :(得分:6)

当我看到属性pageOutput时,它显然意味着您正在尝试配置仅适用于Web应用程序的 ASP .NET跟踪Trace.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>

答案 1 :(得分:1)

如果您正在写入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项目范围之外的其他对象写入跟踪时,这尤其有用。