Режим диагностики (сетевой уровень) .NET приложений — различия между версиями
Admin (обсуждение | вклад) (Новая страница: «<span style="line-height: 20.7999992370605px;">Данный режим предназначен для низкоуровневого журналирования…») |
(нет различий)
|
Текущая версия на 00:05, 16 апреля 2015
Данный режим предназначен для низкоуровневого журналирования передаваемых/принимаемых данных .NET приложений по протоколу TCP/UDP. Существует два режима диагностики сетевых .NET-приложений. Как правило данный режим используется только в случае каких-либо неполадок при работе приложений с сетью - например неработоспособность с прокси-серверами или фаерволами.
WCF - Windows Communication Foundation
В настоящее время по этому протоколу из ПО компании Техноком может работать только AutoGRAPH.NET Service. Для включения данного режима необходимо в .config файл приложения (он называется .exe.config) добавить следующую секцию:
<?xml version="1.0" encoding="utf-8" ?> <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="C:\Error.svclog" /> </sharedListeners> </system.diagnostics> </configuration>
Весь трафик, который принимает/передает приложение обработчиками WCF будет записан в C:\Error.svclog. После добавления секции в конфигурационный файл необходимо перезапустить приложение, повторить действия, которые приводят к ошибке и открыть данный файл с помощью специальной утилиты SvcTraceViewer.exe, которая находится в районе C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin. Если данный этап вызывает затруднения - лучше всего отправить данный файл по электронной почте на support@tk-chel.ru для анализа нашими специалистами.
Сетевой уровень .NET приложений
Данный режим диагностики можно использовать для всех .NET-приложений, которые работают с сетью. Для включения данного режима необходимо в .config файл приложения (он называется .exe.config) добавить следующую секцию:
<system.diagnostics> <sources> <source name="System.Net" tracemode="includehex" maxdatasize="1024"> <listeners> <add name="System.Net"/> </listeners> </source> <source name="System.Net.Cache"> <listeners> <add name="System.Net"/> </listeners> </source> <source name="System.Net.Http"> <listeners> <add name="System.Net "/> </listeners> </source> <source name="System.Net.Sockets"> <listeners> <add name="System.Net"/> </listeners> </source> <source name="System.Net.WebSockets"> <listeners> <add name="System.Net"/> </listeners> </source> </sources> <switches> <add name="System.Net" value="Verbose"/> <add name="System.Net.Cache" value="Verbose"/> <add name="System.Net.Http" value="Verbose"/> <add name="System.Net.Sockets" value="Verbose"/> <add name="System.Net.WebSockets" value="Verbose"/> </switches> <sharedListeners> <add name="System.Net" type="System.Diagnostics.TextWriterTraceListener" initializeData="C:\network.log" /> </sharedListeners> <trace autoflush="true"/> </system.diagnostics>
Весь трафик, который принимает или передает приложение будет записан в C:\network.log. После добавления секции в конфигурационный файл необходимо перезапустить приложение, повторить действия, которые приводят к ошибке. После чего этот лог-файл можно открыть в любом текстовом редакторе и найти место, на котором произошла ошибка. Если данный этап вызывает затруднения - лучше всего отправить данный файл по электронной почте на support@tk-chel.ru для анализа нашими специалистами.