2008-11-17 6 views
6

Ich bin ein Anfänger sowohl WCF und NHibernate. Allerdings muss ich ein kleines Projekt mit mehreren Diensten (mit WCF) und einer persistenten Schicht (mit NHibernate) machen.WCF + NHibernate + ISession =?

Mein Problem betrifft die Verwendung von ISession und ISessionFactory. Ich habe gelesen (und gesehen), dass die Instanziierung von ISessionFactory sehr schwer (und Thread-sicher) ist. Also, ich denke, dass ich diese Klasse nur einmal während der Anwendungslaufzeit instanziieren konnte. Ich habe recht?

Mein Problem betrifft mehr die ISession-Klasse. Ich weiß nicht genau, in welcher Granularität ich es verwenden muss. Ich denke, dass ich für jeden Anruf zum Dienstbetrieb eine Instanz verwenden/erstellen sollte (ich verwende "pro-Anruf-Dienste"). Nochmal, ich habe recht?

+0

Dies ist mein Beitrag beschreibt dies http://StackOverflow.com/A/15451070/168048 – szkra

Antwort

5

Sie sind genau richtig. Die Sitzungsfabrik ist teuer zu konstruieren und gut geeignet als Singleton, während die Sitzung ein leichteres Kontextobjekt ist, das die "Arbeitseinheit" umhüllt.

Um mehr zu erfahren, können Sie über die Burg WCF Facility lesen, die eine Lösung für dieses Problem vorschlägt. Hier ist eine blog post, die es erforscht.

Verwandte Themen