启用网络跟踪后,可以使用跟踪来捕获应用程序对各种 System.Net 类成员发出的调用。 这些调用的输出可能与以下示例类似。
[588] (4357) Entering Socket#33574638::Send()
[588] (4387) Exiting Socket#33574638::Send()-> 61#61
在前面的示例中,[588] 是当前线程的唯一标识符。 (4357)和(4387)是表示自应用程序启动以来经过的毫秒数的时间戳。 时间戳后面的数据显示应用程序进入和退出了 Socket.Send 方法。 执行 Send 方法的对象33574638为其唯一标识符。 退出跟踪方法包括返回值(上一示例中为 61)。
网络跟踪可以使用应用程序级协议(如超文本传输协议(HTTP)捕获应用程序发送或接收的网络流量。 此数据可以捕获为文本,还可以选择将十六进制数据捕获。 将 includehex 指定为 tracemode 属性的值时,可以使用十六进制数据。 (有关此属性的详细信息,请参阅 如何:配置网络跟踪。)以下示例跟踪是使用 includehex 生成的。
[1692] (1142) 00000000 : 47 45 54 20 2F 77 70 61-64 2E 64 61 74 20 48 54 : GET /wpad.dat HT
[1692] (1142) 00000010 : 54 50 2F 31 2E 31 0D 0A-48 6F 73 74 3A 20 69 74 : TP/1.1..Host: it
[1692] (1142) 00000020 : 67 70 72 6F 78 79 0D 0A-43 6F 6E 6E 65 63 74 69 : gproxy..Connecti
[1692] (1142) 00000030 : 6F 6E 3A 20 43 6C 6F 73-65 0D 0A 0D 0A : on: Close....
若要省略十六进制数据, 请将 protocolonly 指定为 tracemode 属性的值。 下例演示了指定“protocolonly”时的跟踪。
[2444] (594) Data from ConnectStream#33574638::WriteHeaders<<GET /wpad.dat HTTP/1.1
Host: itgproxy
Connection: Close