2011-07-28 16 views
2

我正在開發一個相當大的應用程序,並且想針對不同的條件實現多種方式的IErrorHandler。但是,似乎所有的實例都將被調用以應對每個錯誤。有沒有一種方法可以告訴WCF該錯誤已由特定實例處理,以便剩餘列表中的所有處理程序都不會被調用?是否可以在WCF中快捷/繞過其他IErrorHandlers?

(稍微詳細一點,我們使用的是第三方工具包,它增加了一個「默認」錯誤處理程序,這意味着無論我們做什麼,這個處理程序都會被調用並逆轉我們的一些變化。)

回答

1

您可以使用提供程序模式,並在其中包含錯誤處理程序的列表。然後你可以有任何你喜歡委託給你選擇的處理程序的條件。

即,你將鉤住1個錯誤處理程序,其中包含所有的處理程序,而不是連接許多順序執行的所有處理程序。

+0

是的,這在大多數情況下都有效;但是,Web API直接向WCF添加了一個默認錯誤處理程序,因此這不會解決繞過錯誤處理程序的問題。幸運的是,自從我去年的原帖以來,微軟已經更新了Web API代碼,以便在自定義處理程序「處理」錯誤時不調用默認處理程序。好的建議,但。 – SonOfPirate

相關問題