2016-07-12 7 views
0

was ist der Zweck von CurrentSessionContext.Bind(sessionFactory.OpenSession()); in der Nhibernate.Was ist Nhibernate CurrentContext

public void Application_Start() 
{ 

    BeginRequest += delegate 
{ 

     CurrentSessionContext.Bind(sessionFactory.OpenSession());  

    }; 
} 

Antwort

0

Es ist die contextual session.

Im Allgemeinen Webprojekte (es kann auf onther plataforms auch durchgeführt werden), ist es ein commom pratice ein ISession auf dem Anforderungskontext definiert hat, zwischen den BeginRequest und EndRequest Veranstaltungen. Wenn Sie also eine Bindung einer Sitzung definieren, können Sie über die Methode SessionFactory.GetCurrentSession() auf Ihrer Datenzugriffsebene darauf zugreifen, ohne alle Verbindungen mit Datenbanken verwalten und auf der höheren Ebene verwalten zu lassen.

+0

Danke für Ihre Antwort, wie können wir auf die Sessionfactory zugreifen, die in global.asax von Data access Layer definiert ist. Ich möchte auf global.asax von einer anderen Klassenbibliothek zugreifen (Services-Projekt) – Raghu

+0

Ich möchte es so in meinem Service-Projekt; Öffentliche Klasse MyService: IMyService { öffentliche void doStuff() { ISession session = Global.SessionFactory.GetCurrentSession(); } } – Raghu

+0

Suchen Sie nach Implementierungen namens Sitzung pro Anfrage http://benfoster.io/blog/yet-another-session-per-request-post –

Verwandte Themen