Ich fange an, eine App zu erstellen, und ich plane, ServiceStack zu verwenden. Ich möchte nur wissen, welche Best Practices / guten Ansätze für den Umgang mit NHibernate ISession oder anderen kontextspezifischen Sitzungsobjekten "pro Anfrage" gelten.
Ich dachte, eine ISessionFactory im IOC zu registrieren wie:
%Vor%Und wenn nötig ein neues Session-Objekt bekommen ... Oder vielleicht das Session-Objekt direkt bereitstellen:
%Vor%Oder behandeln Sie entweder die ISession und eine Standardtransaktion über das Global.asax BeginRequest-Ereignis:
%Vor%Ich bin also irgendwie verloren, was sind die besten Praktiken angesichts der oben genannten Technologien oder ähnlicher, wie EF oder eines anderen Rest-Services-Frameworks?
Vielen Dank im Voraus
Das Erstellen einer Sitzung pro Anfrage mit einem HttpHandler ist die gebräuchlichste Methode, die ich gefunden habe. Ayende hat erklärt, dass das Erstellen einer Sitzung sehr leicht ist. Ссылка
Ayende hat tatsächlich eine Reihe von Beiträgen, in denen er nach und nach die Datenzugriffslösung aufbaut. Jeder Beitrag erklärt, warum er getan hat, was er getan hat und welche Probleme mit den bisher unternommenen Schritten gelöst werden müssen. Beginnen Sie hier: Ссылка
Schließlich Ссылка
All dies sind Variationen der Sitzung pro Anfrage. Das Übliche daran ist, dass Sie sich keine Gedanken über das Erstellen einer Sitzung / Transaktion machen müssen. Sie werden die Transaktionen automatisch bestätigen / zurücksetzen.
Wir verwenden den ServiceRunner in der neuen ServiceStack API also:
%Vor%Tags und Links servicestack nhibernate