Как включить трассировку 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" здесь:
Вам не нужно устанавливать все это, только часть ".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").
Откройте файл.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