2010-12-08 9 views
2

Ich habe eine Webanwendung mit SessionScopeWebModule aktiviert, und ich frage mich, wie Business Exceptions (nicht Hibernate/DB Ausnahmen) am besten behandeln.Castle ActiveRecord SessionScopeWebModule Ausnahmebehandlung

Ich glaube AR 2.0 SessionScopeWebModule implementiert implizit Transaktion - wenn eine Ausnahme während der Anfrage auftritt, werden Änderungen vorgenommen während der Sitzung werden verworfen/zurückgesetzt.

Für meine Web App wird die Business-Schicht mit dem DB gesprächig sein, mehrere CRUDs Ausgabe, sagen

  • Einheit A erstellen
  • Einheit B

Say Entität A erstellen hat wurde erstellt. Beim Erstellen von Entität B wurden jedoch keine Geschäftsregeln beachtet, und die Business-Schicht löst eine Business-Ausnahme aus.

Aus der Sicht der Benutzeroberfläche ist es am besten, die Geschäftsausnahme zu behandeln und dem Benutzer eine freundliche Nachricht anzuzeigen. Hier liegt das Problem. Wenn die Ausnahme bereits behandelt wird, geht SessionScopeWebModule entlang alles Denken am Ende der Anforderung in Ordnung ist und verpflichtet sich, die Einheit A in die Datenbank, ohne Einheit B.

Was ist die beste Praxis Ausnahmen in diesem Fall zu behandeln ? Ich bin Denken an eine Sitzungsvariable, die für jede neue Anfrage zurückgesetzt wird. Wenn eine Ausnahme auftritt, wird die Variable als fehlerhaft markiert. Wenn die Anforderung beendet wird, überprüft das SessionScopeWebModule zuerst die -Sitzung, um festzustellen, ob eine Ausnahmebedingung aufgetreten ist. Wenn dies der Fall ist, wird eine FailSession aufgerufen.

Ist das der richtige Weg? Und würde FailSession die Aufgabe machen, Änderungen an einer Sitzung zu verwerfen?

Danke!

Boyan

Antwort

0

auf der Website http://www.summerofnhibernate.com/ Ich habe sean einen web-chast zu diesem Thema (es ist Teil 13), aber mit NHibernate direkt (ohne Active). Ich erkläre, wie und warum die Sitzung speichert/löscht und wie man sie daran hindert. Vielleicht können die Informationen aus diesem Video Ihnen helfen.

Grüße Juy Juka

Verwandte Themen