Come registrare il contenuto del messaggio WCF?
Ho pensato che sarebbe stato semplice, ma non riesco a vedere come dire a WCF di registrare i corpi dei messaggi. Ho:
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="Verbose">
<listeners>
<add type="System.Diagnostics.DefaultTraceListener" name="Default">
<filter type="" />
</add>
<add type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.EntLibLoggingProxyTraceListener,Microsoft.Practices.EnterpriseLibrary.Logging"
name="traceListener">
<filter type="" />
</add>
</listeners>
</source>
</sources>
</system.diagnostics>
<system.serviceModel>
<diagnostics>
<messageLogging logEntireMessage="true" logMalformedMessages="true"
logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="false" />
</diagnostics>
...etc..,
...etc...
</system.Model>
<loggingConfiguration name="" tracingEnabled="true" defaultCategory="General">
<listeners>
<add fileName="_trace-xml.log"
listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.XmlTraceListenerData,Microsoft.Practices.EnterpriseLibrary.Logging"
traceOutputOptions="None"
type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.XmlTraceListener,Microsoft.Practices.EnterpriseLibrary.Logging"
name="XML Trace Listener" />
...etc... other listeners
</listeners>
...etc...
</loggingConfiguration>
Ma tutto ciò che viene registrato è qualcosa sul messaggio, non sul corpo del messaggio. Cosa devo cambiare per registrare il contenuto del messaggio?
Ahimè. Così fa qualcosa come questo blog http://wcfpro.wordpress.com/2011/03/29/iclientmessageinspector/ dammi * tutto * ho bisogno o c'è altro che ho bisogno di sapere in termini di configurazione o codice per registrare i corpi dei messaggi ? –
Questo link è praticamente tutto ciò di cui hai bisogno. L'unica cosa che non mostra è come installare il comportamento dell'endpoint, che è piuttosto semplice (endpoint.Behaviors.Add). – JohnC
Questa risposta è sbagliata. La configurazione di un sorgente per 'System.ServiceModel.MessageLogging' e un listener per registrare i messaggi funziona correttamente per me. Non è richiesto alcun ispettore di messaggi. –