作法:設定網路追蹤

應用程式或電腦組態檔都會保存可決定網路追蹤格式和內容的設定。 在執行這個程序之前,請確認已啟用追蹤。 如需詳細資訊,請參閱啟用網路追蹤

電腦群組態檔 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 SocketTcpListenerTcpClientDns 類別的一些公用方法。
System.Net HttpWebRequestHttpWebResponseFtpWebRequestFtpWebResponse 類別的一些公用方法,以及 SSL 偵錯資訊 (無效的憑證、遺失簽發者清單和用戶端憑證錯誤)。
System.Net.HttpListener HttpListenerHttpListenerRequestHttpListenerResponse 類別的一些公用方法。
System.Net.Cache System.Net.Cache 中的一些私用和內部方法。
System.Net.Http HttpClientDelegatingHandlerHttpClientHandlerHttpMessageHandlerMessageProcessingHandlerWebRequestHandler 類別的一些公用方法。
System.Net.WebSockets.WebSocket ClientWebSocketWebSocket 類別的一些公用方法。

追蹤輸出屬性

下表列出的屬性會設定追蹤輸出:

Attribute name 屬性值
value 必要的 String 屬性。 設定輸出的詳細等級。 合法值為 CriticalErrorVerboseWarningInformation

您必須在 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">

另請參閱