Поделиться через


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

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

Файл конфигурации компьютера ,machine.config, хранится в папке %windir%\Microsoft.NET\Framework . Существует отдельный файл machine.config в папках в разделе%windir%\Microsoft.NET\Framework для каждой версии .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, DelegatingHandler, HttpClientHandler, HttpMessageHandler, MessageProcessingHandler и WebRequestHandler.
System.Net.WebSockets.WebSocket Некоторые публичные методы классов ClientWebSocket и WebSocket.

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

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

Имя атрибута Значение атрибута
value Обязательный String атрибут. Задает детализацию выходных данных. Допустимые значения: Critical, , ErrorVerboseи WarningInformation.

Этот атрибут должен быть задан на элементе 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">

См. также