Domanda

Sto cercando di implementare transazione NHibernate movimentazione attraverso Interceptors e non poteva capire come registrare l'interfaccia attraverso meccanismo fluente.

Vedo un

Component.For<ServicesInterceptor>().Interceptors

ma non è sicuro come usarlo. Qualcuno mi può aiutare? Questo esempio sembrava un po 'complesso.

È stato utile?

Soluzione

Lo fai in due fasi:

  • È necessario registrare l'intercettatore come servizio nel contenitore:
container.Register(Component.For<MyInterceptor>());
  • Si registra il componente che si desidera intercettare. Utilizzando il metodo Interceptors su API fluente di specificare quale dei intercettori registrati (con chiave, o tipo) che si desidera intercettare questo componente con:
container.Register(Component.For<IFoo>().ImplementedBy<Foo>()
   .Interceptors<MyInterceptor>());

la documentazione per ulteriori dettagli.

Altri suggerimenti

il primo registro intercettore:

  

container.Register(Component.For<IDbInterceptor>().ImplementedBy<DbInterceptor>().Named("transactionInterceptor"));

Quindi registrare l'essere obiettare intercettato:

  

container.Register (Component.For (). ImplementedBy (). Nominato ( "MyService"). Interceptors (nuova        InterceptorReference ( "transactionInterceptor")) Anywhere);.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top