您可以使用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