Практическое руководство. Настройка трассировки сети

Файл конфигурации приложения или компьютера содержит параметры, которые определяют формат и содержимое данных трассировки сети. Перед выполнением этой процедуры убедитесь, что трассировка включена. Дополнительные сведения см. в разделе Включение трассировки сети.

Файл конфигурации компьютера machine.config хранится в папке %windir%\Microsoft.NET\Framework. В папках внутри %windir%\Microsoft.NET\Framework находится отдельный файл machine.config для каждой версии .NET Framework, установленной на компьютере:

  • C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\machine.config
  • C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config

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

Настройка трассировки сети

Чтобы настроить трассировку сети, добавьте следующие строки в соответствующий файл конфигурации. Значения этих параметров описаны в приведенных ниже таблицах.

<configuration>
  <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="network.log"
        traceOutputOptions="ProcessId, DateTime"
      />
    </sharedListeners>
    <trace autoflush="true"/>
  </system.diagnostics>
</configuration>

Выходные данные трассировки из методов

При добавлении имени в блок <switches> результаты трассировки будут содержать сведения из определенных методов, связанных с указанным именем. Результат описан в следующей таблице:

Имя. Источник результата
System.Net.Sockets Некоторые открытые методы классов Socket, TcpListener, TcpClient и Dns.
System.Net Некоторые открытые методы классов HttpWebRequest, HttpWebResponse, FtpWebRequest и FtpWebResponse, а также отладочные данные SSL (недопустимые сертификаты, отсутствующие издатели и ошибки сертификатов клиентов).
System.Net.HttpListener Некоторые открытые методы классов HttpListener, HttpListenerRequest и HttpListenerResponse.
System.Net.Cache Некоторые открытые и закрытые методы в System.Net.Cache.
System.Net.Http Некоторые общедоступные методы HttpClient, , HttpMessageHandlerDelegatingHandlerHttpClientHandler, MessageProcessingHandlerи WebRequestHandler классы.
System.Net.WebSockets.WebSocket Некоторые открытые методы классов ClientWebSocket и WebSocket.

Атрибуты выходных данных трассировки

Атрибуты, указанные в следующей таблице, задают выходные данные трассировки:

Attribute name Значение атрибута
value Обязательный атрибут элемента String. Задает уровень детализации результатов. Допустимые значения: Critical, Error, Verbose, Warning и Information.

Этот атрибут следует задавать в элементе add элемента switches. Исключение возникает, если этот атрибут задан для элемента source.

Пример: <add name="System.Net" value="Verbose"/>
maxdatasize Необязательный атрибут элемента Int32. Задает максимальное число байтов сетевых данных, включенных в трассировку каждой линии. Значение по умолчанию — 1024.

Этот атрибут следует задавать в элементе source. Исключение возникает, если этот атрибут задан для элемента в элементе switches.

Пример: <source name="System.Net" tracemode="includehex" maxdatasize="1024">
tracemode Необязательный атрибут элемента String. Задается includehex, чтобы трассировка протоколов отображалась в шестнадцатеричном или текстовом формате. Установите значение protocolonly, чтобы отображался только текст. Значение по умолчанию — includehex.

Этот атрибут следует задавать в элементе source. Исключение возникает, если этот атрибут задан для элемента в элементе switches.

Пример: <source name="System.Net" tracemode="includehex" maxdatasize="1024">

См. также