Question

Je suis en train de mettre en œuvre transaction NHibernate manipulation par Interceptor et ne pouvait pas comprendre comment enregistrer l'interface à travers le mécanisme fluide.

Je vois

Component.For<ServicesInterceptor>().Interceptors

mais ne savez pas comment l'utiliser. Est-ce que quelqu'un peut m'aider? Cet exemple semblait un peu complexe.

Était-ce utile?

La solution

Vous le faites en deux étapes:

  • Vous devez vous enregistrer l'intercepteur en tant que service dans le conteneur:
container.Register(Component.For<MyInterceptor>());
  • Vous enregistrez le composant que vous souhaitez intercepter. Utilisation de la méthode de Interceptors sur l'API fluide, vous spécifiez laquelle des intercepteurs enregistrés (par clé ou type) que vous voulez intercepter ce composant avec:
container.Register(Component.For<IFoo>().ImplementedBy<Foo>()
   .Interceptors<MyInterceptor>());

Voir la documentation pour plus de détails.

Autres conseils

enregistrer d'abord l'intercepteur:

  

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

Alors inscrivez-vous le objectant intercepté:

  

container.Register (Component.For (). ImplementedBy (). Nommé ( "MyService"). Interceptor (nouveau        InterceptorReference ( "TransactionInterceptor")) Partout).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top