2009-05-15 5 views
15

Mit Blick auf alle Möglichkeiten der Erstellung/Update-Spalten in NHibernate I meist (Stackoverflow question, Ayende Rahien) siehe Lösungen mit Listeners.NHibernate: Unterschied zwischen Interceptor und Listener

Der Programmierer, der dies in meiner Firma programmierte, benutzte einen Interceptor, um dasselbe zu erreichen.

Gibt es einen Unterschied zwischen diesen beiden Lösungen? (Ist einer von ihnen veraltet, ist einer von ihnen bevorzugt und was sind die Vor- und/oder Nachteile)

Antwort

17

Interceptors sind die alte Art, Event-Listener sind neuer und Server den gleichen Zweck. In einem neuen Projekt werden also Event-Listener empfohlen. Sie schließen sich an das neue NHibernate-Ereignissystem an.

Bearbeiten: Wie Rashack in seinem Kommentar erwähnt, gibt es einige Operationen, die nur mit dem Interzeptor durchgeführt werden können.

+15

Das stimmt nicht ganz. Obwohl Ereignis-Listener neuer und empfohlen sind, gibt es bestimmte Vorgänge, die Sie nicht mit ihnen durchführen können. Nämlich die Möglichkeit, Objekte zu initiieren und Transaktionsbeginn/-ende zu erfassen. – Rashack

+1

Danke für diesen Hinweis. Ich wusste das nicht. –