您可以使用WCF跟踪来记录原始XML消息。以下是.config
使WCF与原始消息记录跟踪:
<configuration>
<system.serviceModel>
<diagnostics>
<messageLogging maxMessagesToLog="30000"
logEntireMessage="true"
logMessagesAtServiceLevel="true"
logMalformedMessages="true"
logMessagesAtTransportLevel="true">
</messageLogging>
</diagnostics>
</system.serviceModel>
<system.diagnostics>
<sources>
<source name="System.IdentityModel" switchValue="Verbose" logKnownPii="true">
<listeners>
<add name="xml" />
</listeners>
</source>
<!-- Log all messages in the 'Messages' tab of SvcTraceViewer. -->
<source name="System.ServiceModel.MessageLogging">
<listeners>
<add name="xml" />
</listeners>
</source>
<!-- ActivityTracing and propogateActivity are used to flesh out the 'Activities' tab in
SvcTraceViewer to aid debugging. -->
<source name="System.ServiceModel" switchValue="Error, ActivityTracing" propagateActivity="true">
<listeners>
<add name="xml" />
</listeners>
</source>
<!-- This records Microsoft.IdentityModel generated traces, including exceptions thrown
from the framework. -->
<source name="Microsoft.IdentityModel" switchValue="Warning">
<listeners>
<add name="xml" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="xml" type="System.Diagnostics.XmlWriterTraceListener" initializeData="trace.e2e" />
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>
</configuration>
你可以阅读更多有关WCF从MSDN: Configuring Tracing跟踪。
微软提供了一个Service Trace Viewer Tool阅读.svclog文件。
确保在initializeData
定义的路径是可写的为您服务。
感谢您的回应,slugster。我会看看这个,并会回复我的走向。 – dave 2009-12-15 10:04:22