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

Update:

Я пытаюсь включить трассировку 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 для целей отладки?

Ответ 1

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

<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":

Загрузка SDK в Windows

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

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

Ответ 2

В вашем 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>

Ответ 3

Перейдите в каталог 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 configuration editor

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

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

enable 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

Ответ 4

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

fooobar.com/info/28428/...