WCF 作為分散式框架,錯誤排查難度遠高於單體應用。追蹤日誌與訊息日誌是官方提供的核心診斷工具,配合 SvcConfigEditor 與 SvcTraceViewer 可大幅縮短問題定位時間。本文以 IIS 6.0 寄宿為例完整演示配置與分析流程。
C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin

Transport (完整 SOAP 封包) 或 Service/MalformedServiceModelMessageLoggingListener:設定輸出路徑 (如 C:\ServiceLogs\Web_messages.svclog)、MaxSizeOfMessageToLog、MaxMessagesToLogLogEntireMessage="true" 記錄完整 SOAP Body (預設僅 Header)

Warning (生產建議) 或 Information/Verbose (詳細除錯,注意磁碟增長)ServiceModelTraceListener:輸出路徑 (如 C:\ServiceLogs\Web_tracelog.svclog)
File → Save,執行 iisreset 生效。
開啟 Web_messages.svclog:




可清晰查看參數值、回傳資料、序列化格式。若回應經壓縮/加密,需配合業務邏輯解碼。
開啟 Web_tracelog.svclog:


| 場景 | Trace Level | Message Logging | 備註 |
|---|---|---|---|
| 生產常態 | Warning / Error | 關閉或 Malformed | 效能影響最小 |
| 問題排查 | Information / Verbose | Transport (限時開啟) | 磁碟增長快,解決後立即關閉 |
| 安全審計 | Warning | Service (含 Header) | 不記錄 Body 敏感資料 |
XmlSerializer / DataContractSerializer 錯誤ServiceAuthorizationManager 活動ChannelFactory / IClientChannel 相關活動WCF 追蹤/訊息日誌是分散式系統的「黑盒子」。善用 SvcConfigEditor 快速配置、SvcTraceViewer 視覺化分析,配合分級啟用策略,能解決 90% 以上的 WCF 疑難雜症。