Игнорировать определенные службы WCF из журналов трассировки WCF

Приложение, которое я создаю, предоставляет несколько служб WCF (A, B ). Внутри он использует несколько других служб WCF, работающих в нашей внутренней сети (X, Y ).

Используя ведение журнала сообщений WCF, я хочу только регистрировать трафик между нашими службами A, B и внешними клиентами, которые их вызывают.

Никакие данные между моими службами (A, B )и внутренними службами (X, Y )не должны регистрироваться WCF.

Фильтрация через system.serviceModel/diagnostics/messageLogging/filters была частично успешной с :

    <filters>
      <add nodeQuota="10" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
        /s:Envelope/s:Header/*[contains(text(),"MyServiceA")]
      </add>
      <add nodeQuota="10" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:a="http://schemas.microsoft.com/ws/2005/05/addressing/none">
        /s:Envelope/s:Header/a:Action[contains(text(),"MyServiceA")]
      </add>
    </filters>

. Однако при этом не удается получить ответы от нашей службы, поскольку ответы SOAP не содержат текста для фильтрации.

WCF MessageLogTraceRecord действительно содержит действие SOAP, но я не могу создать фильтр для доступа к нему.:

<MessageLogTraceRecord>
  <Addressing xmlns="http://schemas.microsoft.com/2004/06/ServiceModel/Management/MessageTrace>
     <Action>http://opia.api.translink.com.au/ApiLocationService/2012/04/IApiLocationService/ResolveInputServiceFaultFault</Action>
  </Addressing>
  <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
      <s:Body>
       ...

Ведение журнала сообщений WCF и сквозная трассировка включены со всеми параметрами, установленными в значение true. Ведение журналов на уровне ActivityTracing и Warning включено.

6
задан geoffreys 19 April 2012 в 05:24
поделиться