Как включить трассировку 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/...