Не отслеживание службы WCF (диагностика отслеживания) - PullRequest
0 голосов
/ 26 августа 2010

У меня есть клиент (модульный тест), который вызывает службу WCF (хостинг в режиме отладки в консольном приложении).

У меня ошибка в обслуживании, но я не знаю, какая именно. Мне нужно отследить это, но не генерировать что-либо файл svclog в клиенте.

какие-либо предложения, любой пример кода работает?

РЕДАКТИРОВАТЬ: я использую запись EntLibrary 4.1. Я думаю, что есть ошибки в конфигурации и диагностике WCF Трассировка не журналы трассировки.

Моя конфигурация в клиенте:

  <system.diagnostics configSource="Config\diagnostics.config" />

  <system.serviceModel>
    <behaviors configSource="Config\system.servicemodel.behaviors.config" />
    <bindings configSource="Config\system.servicemodel.bindings.config" />
    <client configSource="Config\system.servicemodel.client.config" />

    <diagnostics wmiProviderEnabled="false">
      <messageLogging logEntireMessage="true"
                logMalformedMessages="true"
                logMessagesAtServiceLevel="true"
                logMessagesAtTransportLevel="true"
               />

    </diagnostics>

  </system.serviceModel>


<system.diagnostics>
  <sources>
    <source name="System.ServiceModel" switchValue="Warning" propagateActivity="true" >
      <listeners>
        <add name="xml"/>
      </listeners>
    </source>

    <source name="myUserTraceSource" switchValue="Warning, ActivityTracing">
      <listeners>
        <add name="xml"/>
      </listeners>
    </source>
  </sources>

  <sharedListeners>
    <add name="xml"
         type="System.Diagnostics.XmlWriterTraceListener"
         initializeData="TraceLog.svclog" />
  </sharedListeners>

</system.diagnostics>

  <loggingConfiguration configSource="Config\loggingConfiguration.config"/>

  <exceptionHandling configSource="Config\exceptionHandling.config" />

1 Ответ

2 голосов
/ 26 августа 2010

Возможно, вы захотите установить для switchValue значение All - это будет регистрировать все. (См. Таблицу 2/3 внизу страницы здесь .)

Если ваша ошибка на вашем сервере, добавьте элемент <diagnostics> в файл web.config вашего сервера вместо файла web.config вашего клиента. Если ошибка на вашем сервере, то вам нужно отследить ее там. Я думаю, что если ваш сервис работает с ошибками, то трассировка на клиенте не даст вам столько информации, сколько трассировка на стороне сервера.

Если бы вы могли предоставить больше информации об обнаруженной ошибке, это также помогло бы. Я обновлю свой ответ соответственно.

Надеюсь, это поможет!

...