我想使用統一攔截的接口沒有實現,使IInterceptionBehavior實際上變成實現。這與Castle Dynamic Proxy中的CreateInterfaceProxyWithoutTarget方法相同。統一2攔截相當於CreateInterfaceProxyWithoutTarget的城堡動態代理
這是可能的團結?
我想使用統一攔截的接口沒有實現,使IInterceptionBehavior實際上變成實現。這與Castle Dynamic Proxy中的CreateInterfaceProxyWithoutTarget方法相同。統一2攔截相當於CreateInterfaceProxyWithoutTarget的城堡動態代理
這是可能的團結?
我覺得沒什麼,唯一的辦法我知道攔截的接口是一個InterfaceInterceptor
but it requires a base class to be registered in the container:
Container.RegisterType<IRepository, BaseRepository>(
"repo1",
new Interceptor(new InterfaceInterceptor()),
new InterceptionBehavior(new RepoLoggingBehavior())
);
這是一個很長一段時間,因爲這個問題被張貼,但我碰到它,而試圖圖出來也是一樣的,好吧,好像我已經想出了一些東西。
我將它用Intercept.NewInstanceWithAdditionalInterfaces工作。 在下面我我的樣品需要一個團結奮進,共創實施IUserDao非限定類的一個實例。我想要的那個Unity創建的類的實例在RetrieveSavedResultBehavior中定義。
IUserDao userDao = (IUserDao)(Intercept.NewInstanceWithAdditionalInterfaces<Object>(
new VirtualMethodInterceptor(),
new List<IInterceptionBehavior>(){new RetrieveSavedResultBehavior()},
new List<Type>() { typeof(IUserDao) }
));
您可以查看關於這個話題here
這太糟糕了我的職務。謝謝。 – 2011-03-31 12:22:22