应用程序或计算机配置文件保存用于确定网络跟踪的格式和内容的设置。 在执行此过程之前,请确保已启用跟踪。 有关详细信息,请参阅 “启用网络跟踪”。
计算机配置文件 machine.config存储在 %windir%\Microsoft.NET\Framework 文件夹中。 计算机上安装的每个 .NET Framework 版本的%windir%\Microsoft.NET\Framework 下的文件夹中有一个单独的 machine.config 文件,例如:
- 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> 时,跟踪输出包含与名称相关的某些方法中的信息。 下表描述了输出:
| Name | 输出来源于 |
|---|---|
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、Error、Verbose、Warning 和 Information。必须在 switches元素的add元素上设置此属性。 如果在元素上设置了此属性, 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"> |