我试图从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。
有没有人有任何想法?
答案 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项目范围之外的其他对象写入跟踪时,这尤其有用。