EntLib4.1 での PIAB 仕様変更

一部のクラスやインタフェースが無くなっていました

  • Microsoft.Practices.EnterpriseLibrary.PolicyInjection.ICallHandler
  • Microsoft.Practices.EnterpriseLibrary.PolicyInjection.IMethodInvocation
  • Microsoft.Practices.EnterpriseLibrary.PolicyInjection.IMethodReturn
  • Microsoft.Practices.EnterpriseLibrary.PolicyInjection.GetNextHandlerDelegate
  • Microsoft.Practices.EnterpriseLibrary.PolicyInjection.HandlerAttribute

でも代わりが用意されています

  • Microsoft.Practices.Unity.InterceptionExtension.ICallHandler
  • Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation
  • Microsoft.Practices.Unity.InterceptionExtension.IMethodReturn
  • Microsoft.Practices.Unity.InterceptionExtension.GetNextHandlerDelegate
  • Microsoft.Practices.Unity.InterceptionExtension.HandlerAttribute

HandlerAttributeのインタフェースも変更されていました

CreateHandler メソッドが引数を受け取るようになっています。

public class EventLogCallHandlerAttribute : HandlerAttribute
{
    public override ICallHandler CreateHandler(IUnityContainer container)
    {
        return new EventLogCallHandler();
    }
}

このコードは「PIABで属性を使ってインターセプト対象メソッドを指定する」で作成した EvetnLogCallHandler を EntLib4.1 に対応させたものです。

まだまだ変更がありそう

もっと調べてみます。