共用方式為


適用於 Windows 的 WCF 服務和事件追蹤

ETWTracing 範例示範如何在 Windows Communication Foundation (WCF) 中使用分析追蹤,以便在 Windows 事件追蹤 (ETW) 中發出事件。 分析的追蹤事件是在 WCF 堆疊的關鍵點發出的,它們允許在生產環境中對 WCF 服務進行疑難排解。

WCF 服務中的分析追蹤是可在生產環境中開啟的追蹤,對效能的影響最小。 這些追蹤會作為事件發送至 ETW 工作階段。

此範例包含基本 WCF 服務,其中事件會從服務發出至事件記錄檔,而事件記錄檔可使用事件查看器來檢視。 您也可以啟動專門的 ETW 工作階段,以監聽來自 WCF 服務的事件。 此範例包含用來建立專用 ETW 工作階段的腳稿,以將事件儲存在可使用事件查看器讀取的二進位檔中。

若要使用此範例

  1. 使用 Visual Studio 開啟EtwAnalyticTraceSample.sln方案檔。

  2. 若要建置方案,請按 Ctrl+Shift+B

  3. 若要執行解決方案,請按 Ctrl+F5

    在網頁瀏覽器中,按兩下 [Calculator.svc]。 服務的 WSDL 檔案 URI 應該會出現在瀏覽器中。 複製該 URI。

    根據預設,服務會開始接聽埠 1378 http://localhost:1378/Calculator.svc上的要求。

  4. 執行 WCF 測試用戶端 (WcfTestClient.exe)。

    WCF 測試用戶端 (WcfTestClient.exe) 位於 \<Visual Studio Install Dir>\Common7\IDE\WcfTestClient.exe

  5. 在 WCF 測試用戶端內,選取 [ 檔案],然後選取 [ 新增服務],以新增服務

    在輸入方塊中新增端點位址。 預設值為 http://localhost:1378/Calculator.svc

  6. 開啟事件查看器應用程式。

    叫用服務之前,請啟動事件查看器,並確定事件記錄檔正在接聽從WCF服務發出的追蹤事件。

  7. 從 [ 開始] 功能表中,選取 [ 系統管理工具],然後選取 [ 事件查看器]。 啟用分析偵錯記錄。

  8. 在 [事件查看器] 的樹視圖中,流覽至 [事件查看器]、[ 應用程式及服務記錄檔]、 [Microsoft]、[ Windows] 和 [ 應用程式伺服器應用程式]。 以滑鼠右鍵按兩下 [應用程式伺服器應用程式],選取 [ 檢視],然後 選取 [顯示分析和偵錯記錄]。

    確定已核取 [顯示分析和偵錯記錄] 選項。

  9. 啟用 分析 記錄。

    在 [事件查看器] 的樹視圖中,流覽至 [事件查看器]、[ 應用程式及服務記錄檔]、 [Microsoft]、[ Windows] 和 [ 應用程式伺服器應用程式]。 以滑鼠右鍵按兩下 [分析 ],然後選取 [ 啟用記錄]。

用來測試服務

  1. 切換回 WCF 測試用戶端,按兩下 Divide 並保留預設值,指定分母 0。

    如果分母為 0,則服務會擲回錯誤。

  2. 觀察從服務發出的事件。

    切換回 [事件查看器],然後流覽至 [事件查看器]、[ 應用程式及服務記錄檔]、 [Microsoft]、 [Windows] 和 [ 應用程式伺服器應用程式]。 以滑鼠右鍵按兩下 [分析 ],然後選取 [ 重新整理]。

    WCF 分析追蹤事件會顯示在事件查看器中。 請注意,因為服務引發了一個錯誤,錯誤追蹤事件會顯示在事件查看器中。

  3. 重複步驟 1 和 2,但使用有效的輸入。 參數的值 N2 可以是 0 以外的任何數位。

    請重新整理分析管道,以檢視 WCF 事件中沒有任何錯誤事件。

此範例示範從 WCF 服務發出的分析追蹤事件。

清除 (選擇性)

  1. 開啟 [事件檢視器]。

  2. 流覽至 事件查看器應用程式和服務記錄MicrosoftWindows,然後流覽 至 Application-Server-Applications。 以滑鼠右鍵按兩下 [分析 ],然後選取 [ 停用記錄]。

  3. 流覽至 事件查看器應用程式和服務記錄MicrosoftWindows,然後流覽 至 Application-Server-Applications。 以滑鼠右鍵按兩下 [分析 ],然後選取 [清除記錄]。

  4. 選擇 [清除 ] 選項以清除事件。

另請參閱