2012-11-16 73 views
0

背景:我有一個WCF項目正在使用Microsoft企業庫WCF異常處理。WCF企業庫ExceptionHandling在其他項目中的faultcontracttype時失敗

我們最近決定將我們的操作和數據契約移動到一個名爲comanynamespace.xxx.WCF.Utilities的單獨項目(.net程序集)中。移動操作和數據合約後,我更改了faultContractType命名空間以反映新的程序集。

現在,當我在VS2010啓動Web服務,我得到以下錯誤:嘗試獲取類型ExceptionPolicyImpl,我已經試過鍵「WCF異常屏蔽」

的情況下發生

激活錯誤:確保這兩個項目中都存在相同的參考文獻,並確保兩個項目都在.net 4(無客戶端模式)下運行,等等都沒有幫助解決問題。

最後,我複製了服務故障類回Web服務項目,改變了命名空間在web.config指向回本地命名空間: 來自:

faultContractType="comanynamespace.xxx.WCF.Utilities.ServiceFault, comanynamespace.xxx.WCF.Utilities.Services"

到:

faultContractType="comanynamespace.xxx.Web.Services.ServiceFault, comanynamespace.xxx.Web.Services"

這確實可以解決錯誤,但是,現在我必須在兩個位置都有我的服務故障數據合同。

有誰知道爲什麼我無法使用Microsoft EL WCF異常處理在另一個.net程序集中使用服務故障(數據協定)?

+1

在頂部,你說你的項目是「xxx.Utilities」,但在你的配置中你把它稱爲「xxx.WCF.Utilities」。這是一個錯字還是可能是問題? –

+0

邁克,這是一個錯字,但如果你看看我的解決方案下面你的猜測關於命名空間是正確的,爲什麼激活錯誤發生。謝謝! – jreed350z

回答

1

問題結束了該faultcontracttype的命名空間(第二部分)被設定爲

faultContractType="companyname.xxx.WCF.Utilities.Services.ServiceFault, companyname.xxx.WCF.Utilities.Services"

代替

faultContractType="companyname.xxx.WCF.Utilities.Services.ServiceFault, companyname.xxx.WCF.Utilities"

companyname.xxx.WCF.Utilities針對命名空間部件。

+0

您應該將此標記爲答案,以便其他人知道它的工作原理。 –

+0

在我被允許的2天內會做。 :d – jreed350z