ServiceStack NHibernate Sitzung pro Anfrage

8

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

    
RMalke 06.07.2012, 01:34
quelle

3 Antworten

3

In diesem Blogbeitrag finden Sie ein vollständiges Beispiel für die optimale Nutzung von ServiceStack und NHibernate:

Ссылка Hier ist das im obigen Beitrag verwendete AppHost-Beispiel:

%Vor%     
mythz 06.07.2012, 03:55
quelle
4

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.

    
Amith George 06.07.2012 04:08
quelle
3
Ich weiß, dass dies eine alte Frage ist, aber ich dachte, ich würde weitermachen und jedem zeigen, der immer noch an einer alternativen Antwort interessiert ist, wie wir das gerade gemacht haben.

Wir verwenden den ServiceRunner in der neuen ServiceStack API also:

%Vor%     
Eric Morris 20.03.2013 20:50
quelle

Tags und Links