2009-07-24 11 views
13

He estado utilizando el Visor de rastreo de servicio para analizar las llamadas al servicio WCF que se realizan en nuestra aplicación, pero realmente necesito ver los valores de los parámetros que se pasan a los métodos de servicio? es posible? He intentado convertir el registro en salida máxima, pero todavía no puedo ver nada :(Registrar llamadas de servicio WCF con información de parámetro

Respuesta

18

Si habilita el seguimiento de mensajes, debe obtener todos los detalles de la llamada (incluida la representación XML del mensaje enviado) así como la respuesta:

<system.diagnostics > 
    <sources> 
    <source 
     name="System.ServiceModel.MessageLogging" 
     switchValue="Information, ActivityTracing" > 
     <listeners> 
      <add name="yourTrace" 
       type="System.Diagnostics.XmlWriterTraceListener" 
       initializeData="C:\Logs\YourMessageLog.svclog"> 
      <filter type="" /> 
      </add> 
     </listeners> 
    </source> 
    </sources> 
    <trace autoflush="true" /> 
</system.diagnostics> 
<system.serviceModel> 
    <diagnostics> 
     <messageLogging 
      logMessagesAtTransportLevel="true" 
      logMessagesAtServiceLevel="false" 
      logMalformedMessages="true" 
      logEntireMessage="true" 
      maxSizeOfMessageToLog="65535000" maxMessagesToLog="500" /> 
    </diagnostics> 
</system.serviceModel> 

Esto debería crear un archivo llamado "YourMessageLog.svclog" en un directorio "C: \ Logs" (que debe existir de antemano!) y que se puede ver con el seguimiento de servicio WCF Visor.

Lo que verá aquí es Representación XML del mensaje que sale y t La respuesta está volviendo. Sus parámetros se han incluido aquí en su estructura XML. ¿Es eso lo que estás buscando?

+0

Había intentado configurar el registro de mensajes de esta manera antes, pero lo estaba haciendo en el servidor en lugar del cliente, por lo que no estaba funcionando como esperaba. Saludos por señalarme el camino correcto :) –

+1

El tipo para los oyentes debe ser System.Diagnostics.XmlWriterTraceListener –

+0

hola Estoy usando en mi servicio WCF DataContract y una función que obtiene int. POR FAVOR, necesito ver los parámetros que pasaron al servicio de WCF en el visualizador de trazas. Solo puedo ver el hedear. ¿Y el cuerpo? –

Cuestiones relacionadas