Frage

Ich versuche, zu implementieren nhibernate Transaktionsabwicklung durch Abfangjäger und konnte nicht herausfinden, wie die Schnittstelle durch fließend Mechanismus zu registrieren.

Ich sehe ein

Component.For<ServicesInterceptor>().Interceptors

aber nicht sicher, wie es zu benutzen. Kann jemand mir helfen, aus? Dieses Beispiel ein wenig komplex zu sein schien.

War es hilfreich?

Lösung

Sie tun es in zwei Schritten:

  • Sie müssen die Abfangjäger als Dienst im Behälter registrieren:
container.Register(Component.For<MyInterceptor>());
  • registrieren Sie die Komponente, die Sie abfangen wollen. Mit Interceptors Methode fließend API angeben, welche der registrierten Abfangjäger (durch Schlüssel oder Typ) Sie diese Komponente abfangen wollen, mit:
container.Register(Component.For<IFoo>().ImplementedBy<Foo>()
   .Interceptors<MyInterceptor>());

Siehe die Dokumentation für weitere Details.

Andere Tipps

Zuerst registrieren Sie den Interceptor:

  

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

registrieren Dann wird der Einspruch abgefangen:

  

container.Register (Component.For (). ImplementedBy (). Benannt ( "MyService"). Interceptor (neu        InterceptorReference ( "TransactionInterceptor")) überall);.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top