2012-01-18 19 views
1

我已經被配置爲與企業庫5「登錄應用程序塊」 WCF服務「驗證應用程序塊集成WCF」和「異常處理應用程序塊WCF提供商」並且配置爲使用它流暢的API是這樣的:類型ExceptionPolicyImpl具有長度爲2的無法多個構造消除歧義

builder.ConfigureExceptionHandling() 
      // ----------------------------------------------------- 
      // Preventing Enterprise Library Validation Block exceptions from getting shielded. 
      // ----------------------------------------------------- 
      .GivenPolicyWithName("WCF Exception Shielding") 
      .ForExceptionType<FaultException<ValidationFault>>() 
      .ThenDoNothing() 

      // ----------------------------------------------------- 
      // Shielding unhandled exceptions 
      // ----------------------------------------------------- 
      .ForExceptionType<Exception>() 
      .LogToCategory("My Logging Category") 
      .WithSeverity(TraceEventType.Critical) 
      .ShieldExceptionForWcf(typeof(ServiceUnhandledFault), Resources.UnhandledException_ErrorMessage) 
      .ThenThrowNewException(); 

服務實現:

[ServiceContract] 
[ValidationBehavior] 
[ExceptionShielding("WCF Exception Shielding")] 
public interface IMyService 
{ 
    [OperationContract] 
    [FaultContract(typeof(ValidationFault))] 
    [FaultContract(typeof(ServiceUnhandledFault))] 
    void InsertEntity(MyEntity file); 
} 

[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple, InstanceContextMode = InstanceContextMode.PerCall)] 
public partial class MyService : IMyService { ...Implementation... } 

如果我把我的服務的調試行爲,假「IncludeExceptionDetailInFaults」屬性和調用服務操作w ^第i個,將不能正確地驗證以下異常的實體將在服務拋出:

Microsoft.Practices.Unity.ResolutionFailedException:依賴解析失敗,TYPE =「Microsoft.Practices.EnterpriseLibrary.ExceptionHandling。 ExceptionPolicyImpl「,name =」WCF異常屏蔽「。 發生異常時:解析時。 例外是:InvalidOperationException - 類型ExceptionPolicyImpl具有長度爲2的多個構造函數。無法消除歧義。

但是,如果我將IncludeExceptionDetailInFaults設置爲true,驗證錯誤將返回給客戶端。

有誰知道我錯過了什麼?

回答

0

看起來你嘗試配置耳鼻喉科庫用流利的API方法。我在嘗試使用BOTH配置文件(web.config)和流暢的API嘗試配置Ent Lib時遇到了類似的錯誤。如果是的話,你可以嘗試刪除配置文件變量,只做流利的API。我發現這解決了我的錯誤。 讓我知道它是怎麼回事。

+0

我試圖配置_Ent庫4.1_爲*舊的應用程序.NET CLR 3.5 2.0 APPPOOL *和_Ent庫5.0_的*新應用.NET CLR 4.5 4.0 APPPOOL *有兩個配置文件(web.config中)和我得到同樣的錯誤。 – Kiquenet

相關問題