Как включить трассировку WCF? - PullRequest
148 голосов
/ 25 ноября 2010

Обновление:

Я пытался включить 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 ]

219 голосов
/ 25 ноября 2010

Следующая конфигурация, взятая из 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».

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

Windows SDK Загрузить

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

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

32 голосов
/ 25 ноября 2010

В вашем 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>
15 голосов
/ 15 декабря 2015

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

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

Откройте редактор конфигурации WCF (Microsoft Configuration Configuration Editor) из этого каталога:

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

1 голос
/ 08 июля 2014

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

https://stackoverflow.com/a/16715631/2218571

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...