Frage

Ich bin ein Anfänger sowohl bei NhiberNate als auch bei Castle Windsor, aber die aktuelle Anwendung, an der ich arbeite, besteht darin, die Integration von Castle Windsor von NhiberNate Facility Level 2 zu verwenden.

Ich habe verglichen, was ich tun muss, um meine Daten manuell zu bestehen und iSessionManager zu verwenden, und ich schreibe nicht wirklich weniger Code. Meine Frage ist, warum ich überhaupt IsessionManager brauche? Welche Vorteile bietet mir das an? Was sind die Nachteile der Verwendung von IsessionManager?

War es hilfreich?

Lösung

Zuallererst müssen Sie selbst keine Sitzungen verwalten. In einem Web-Enviroment möchten Sie in der Regel Ihre PR-Anfrage an den Sitzungen abrufen. Der Sitzungsmanager stellt sicher, dass der erste Anrufer für "OpenSession" eine neue Sitzung startet, während verschachtelte Aufrufe beim Aufrufen von "OpenSession" dieselbe Sitzung erhalten. Sie können dasselbe selbst tun, indem Sie Sitzungen in einem httpmodule starren oder ein AOP -Muster verwenden. Beachten Sie, dass dies impliziert, dass Sie gegen eine Datenbank arbeiten. Wenn Sie mehrere Datenbanken selbst bearbeiten, werden Sie etwas langwieriger. IsSessionManager kümmert sich um mehrere Datenbanken, die genauso ordentlich sind wie eine.

+ Die Sitzungen für Sie leichte, nicht intrusive einfache Unterstützung für die Arbeit mit mehreren Datenbanken, in denen Agnostiker gehostet werden (funktioniert genauso gut mit NServiceBushosting wie bei IIS)

- Ein bisschen mehr Boilerplate -Code in Ihren Dal/Repositories/wie auch immer Sie es nennen

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