2011-03-23 38 views
2

我想將WCF服務器中的所有異常(包括序列化異常堆棧跟蹤)記錄到Windows事件日誌中(log4net日誌記錄也是可以接受的)。將WCF服務中的異常記錄到Windows事件日誌的最簡單方法是什麼?

這樣做最簡單的方法是什麼?

特別是序列化中的所有錯誤,服務本身等。現在,我正在使用跟蹤在開發過程中獲取序列化錯誤。追蹤是我能找出哪些對象實際上存在序列化問題的唯一方法。有關獲取序列化堆棧跟蹤的示例,請參閱Quickly finding WCF Serialization/Deserialization Issues

我可以處理服務代碼本身的錯誤。但是,WCF機器中的錯誤不會傳播到我的服務代碼(如序列化錯誤)。

我不需要將錯誤發送到客戶端。

我只想將錯誤放到一個位置(如事件日誌)。

現在(從我的研究中)看來IErrorHandler Interface帶有一些自定義代碼可能是繼續進行的最佳方式。將使用IErrorHandling interace捕獲序列化異常?

編輯: 這可能是我在尋找的答案: How do I create a global exception handler for a WCF Services?

我只是想確認,這將趕上系列化錯誤,更重要的是細節這些錯誤,也。

更多信息: How do I create a global exception handler for a WCF Services?

回答

1

是,IErrorHandler也將趕上系列化例外。您將獲得存儲在例外中的所有信息。對於你來說這個細節是否足夠,我不能說。

請注意,可能存在客戶端錯誤(序列化和其他),它們永遠不會將其發送到服務器。你不會看到那些IErrorHandler。

+0

客戶端很好。到目前爲止,這很容易解決。難以解決的問題是深埋在WCF中的異常錯誤,我無法在沒有跟蹤的情況下找到這些錯誤)。 – 2011-03-23 21:12:12

+0

@telewin你知道嗎,例如,當客戶端發送一個字符串到一個int32字段時,是否有可能捕獲異常?在我的測試中,這種接縫是不可能的,但你可能比我更清楚 – JSantos 2013-02-07 11:40:49

相關問題