2011-10-12 77 views
0

我正在使用WCF和同步框架來同步SQL 2008和SQL Ce 3.5之間的數據。如果服務器出現問題,我只想將格式良好的自定義錯誤發送回客戶端。但是,我遇到的問題是當Sync Framework方法之一是錯誤的來源時,我的錯誤被包裝在通用的「調用目標拋出的異常」中,並返回到客戶端,並將自定義錯誤作爲內部例外。因此,客戶端必須將錯誤捕獲爲通用異常,然後處理內部異常。同步框架異常處理作爲WCF故障

如何去除包裝異常並向我的服務的使用者顯示真正的錯誤?

回答

2

掛鉤自定義IErrorHandler來執行異常轉換。

+0

我沒有任何問題獲得顯式調用的WCF方法中發生的錯誤,以便將良好形成的自定義錯誤返回給客戶端。問題在於在Sync Framework中調用了這些WCF方法。在WCF錯誤處理程序代碼執行後,Sync Framework被重新命名爲我的錯誤,所以客戶端只能看到重新拋出的錯誤中包含的錯誤。這是我想要避免的行爲。 –

+1

您可能需要掛接到MSF事件以捕獲異常並在MSF內以不同的方式處理異常。您可以設置具有配置的MSF輸出跟蹤記錄以幫助您識別問題。 –

+0

羅裏,感謝您的評論,這有助於。最後,我可以將調用封裝到SyncAgent中的Synchronize中,並去除FaultException並僅將其提交給客戶端應用程序。 –