Вызовите перехватчик замка в экземпляре компонента - PullRequest
1 голос
/ 05 января 2012

Есть ли какой-нибудь простой способ заставить метод вызываться на моем IInterceptor, как только будет решен любой экземпляр для соответствующего компонента? Вроде как IOnBehalfAware, но он вызывается с фактическим экземпляром компонента, а не с ComponentModel.

1 Ответ

0 голосов
/ 10 января 2012

Закончилось что-то вроде этого ... определить интерфейс, который реализуют мои IInterceptor (s):

public interface IInstanceAware
{
   void Execute(object instance); 
}

Затем при регистрации компонента (ов) выполните

registration.OnCreate((kernel, instance) => 
{
   var accessor = instance as IProxyTargetAccessor;
   foreach(var instanceAware in accessor.GetInterceptors().OfType<IInstanceAware>())
   { 
       accessor.Execute(instance);
   }
};
...