Как включить трассировку WCF?

Обновить:

Я пытался включить трассировку WCF, но все еще безуспешно... Ниже приводится мое последнее обновление.

Нужно ли мне разрешение на запись в адрес ниже?

  <system.diagnostics>
    <trace autoflush="true" />
    <sources>
      <source name="System.ServiceModel"
              switchValue="Information, ActivityTracing"
              propagateActivity="true">
        <listeners>
          <add name="sdt"
              type="System.Diagnostics.XmlWriterTraceListener"
              initializeData= "@\\myservername\folder1\traces.svclog" />
        </listeners>
      </source>
    </sources>
  </system.diagnostics>

Я использую.NET Framework 3.5.

Что такое пошаговая инструкция для включения отслеживания WCF для целей отладки?

4 ответа

Решение

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

<configuration>
  <system.diagnostics>
    <sources>
      <source name="System.ServiceModel"
              switchValue="Information, ActivityTracing"
              propagateActivity="true" >
        <listeners>
             <add name="xml"/>
        </listeners>
      </source>
      <source name="System.ServiceModel.MessageLogging">
        <listeners>
            <add name="xml"/>
        </listeners>
      </source>
      <source name="myUserTraceSource"
              switchValue="Information, ActivityTracing">
        <listeners>
            <add name="xml"/>
        </listeners>
      </source>
    </sources>
    <sharedListeners>
        <add name="xml"
             type="System.Diagnostics.XmlWriterTraceListener"
             initializeData="Error.svclog" />
    </sharedListeners>
  </system.diagnostics>
</configuration>

Для просмотра файла журнала можно использовать "C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\SvcTraceViewer.exe".

Если файл "SvcTraceViewer.exe" отсутствует в вашей системе, его можно загрузить из пакета "Microsoft Windows SDK для Windows 7 и.NET Framework 4" здесь:

Windows SDK Скачать

Вам не нужно устанавливать все это, только часть ".NET Development / Tools".

Когда / если он взрывается во время установки с несуразной ошибкой, ответ Petopas на Windows 7 SDK Installation Failure решил мою проблему.

В вашем web.config (на сервере) добавьте

<system.diagnostics>
 <sources>
  <source name="System.ServiceModel" switchValue="Information, ActivityTracing" propagateActivity="true">
   <listeners>
    <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="C:\logs\Traces.svclog"/>
   </listeners>
  </source>
 </sources>
</system.diagnostics>

Перейдите в каталог Microsoft SDK. Путь как это:

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools

Откройте редактор конфигурации WCF (редактор конфигурации службы Microsoft) из этого каталога:

SvcConfigEditor.exe

(Еще один вариант открыть этот инструмент - перейти в Visual Studio 2017 в "Инструменты" > "Редактор конфигурации служб WCF").

редактор конфигурации wcf

Откройте файл.config или создайте новый с помощью редактора и перейдите к разделу "Диагностика".

Там вы можете нажать "Включить MessageLogging".

включить ведение сообщений

Дополнительная информация: https://msdn.microsoft.com/en-us/library/ms732009(v=vs.110).aspx

С помощью средства просмотра трассировки из того же каталога вы можете открыть файлы журнала трассировки:

SvcTraceViewer.exe

Вы также можете включить трассировку с помощью WMI. Дополнительная информация: https://msdn.microsoft.com/en-us/library/ms730064(v=vs.110).aspx

Вместо того, чтобы вручную добавлять бит включения трассировки в web.config, вы также можете попробовать использовать редактор конфигурации WCF, который поставляется вместе с VS SDK, чтобы включить трассировку.

/questions/2362699/otslezhivanie-vyizova-wcf-ot-klienta/2362701#2362701

Другие вопросы по тегам