NH-Anforderung pro Sitzung - "Sitzung ist geschlossen!"

8

NHibernate Version: 2.1

Ich verwende einen ziemlich normalen HttpModule-Ansatz zur Implementierung von Anforderungssitzungen in einer ASP.NET + NHibernate-Anwendung. Ich versuche, WebSessionContext zu nutzen, aber es scheint nicht richtig zu funktionieren. Insbesondere funktioniert alles hervorragend für die erste Anfrage auf der Anwendung, aber zusätzliche Anfragen führen zu einer "Sitzung ist geschlossen!" Ausnahme, wenn die Sitzung verwendet wird. Durch das Zurücksetzen des Anwendungspools kann eine andere Anforderung erfolgreich ausgeführt werden. Anschließend wird "Sitzung wird geschlossen" angezeigt.

Es gibt ein paar bewegende Teile, aber ich weiß nicht genug darüber, wie der Kontext verwaltet wird, um ihn einzugrenzen, also ... hier ist alles!

In web.config:

%Vor%

(Ich habe versucht, es auch auf "web" zu setzen, mit dem gleichen Ergebnis.)

Das Modul, dessen Konfiguration bestätigt wurde:

%Vor%

Und mein kleiner Helfer:

%Vor%     
dahlbyk 09.07.2009, 13:16
quelle

3 Antworten

2

Das Beispiel für NHibernate 1.2 (von NHibernate in Action) zeigt, dass die Entbindelung vor dem Schließen erfolgt.

Funktioniert diese Bestelländerung?

%Vor%     
Jørn Jensen 09.11.2009, 11:17
quelle
1

Ich verwende den folgenden NHibernate Session Manager. (Dies war ursprünglich von einem CodeProject-Artikel, den ich modifiziert hatte, um etwas robuster zu sein.) Es gibt keine Initialisierung in Global.asax, nur über Konfigurationsparameter in web.config / hibernate.xml.cfg.

%Vor%     
Jon Adams 16.07.2009 05:08
quelle
0

Nur eine Vermutung, aber was passiert, wenn Sie CurrentSessionContext.Unbind innerhalb des finally-Bereichs direkt nach session.Close () platzieren? Ich kann mich nicht genau erinnern, aber ich glaube, dass die Ausführung beendet wird, nachdem der finally-Block fertig ist. Wenn das der Fall ist, ist die Session immer noch an den Kontext gebunden und wird daher nie entfernt.?

    
Siewers 09.10.2009 22:33
quelle

Tags und Links