作法:設定網路追蹤
應用程式或電腦組態檔都會保存可決定網路追蹤格式和內容的設定。 在執行這個程序之前,請確認已啟用追蹤。 如需詳細資訊,請參閱啟用網路追蹤。
電腦群組態檔 machine.config,儲存在 %windir%\Microsoft.NET\Framework 資料夾中。 對於已安裝在電腦上的每個 .NET 版本,有個別 machine.config 檔案位於 %windir%\Microsoft.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 類別的一些公用方法。 |
追蹤輸出屬性
下表列出的屬性會設定追蹤輸出:
Attribute name | 屬性值 |
---|---|
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"> |