2008-11-17 4 views
6

Je suis un débutant concernant à la fois WCF et NHibernate. Cependant, je dois faire un petit projet impliquant plusieurs services (fait avec WCF) et une couche persistante (faite avec NHibernate).WCF + NHibernate + ISession =?

Mon problème concerne l'utilisation de ISession et ISessionFactory. J'ai lu (et vu) que l'instanciation de ISessionFactory est très lourde (et thread-safe). Donc, je pense que je ne pourrais instancier cette classe qu'une seule fois pendant l'exécution de l'application. J'ai raison?

Mon problème concerne plus la classe ISession. Je ne sais pas exactement à quelle granularité je dois l'utiliser. Je pense que je devrais utiliser/créer une instance pour chaque opération d'appel à service (j'utilise "services par appel"). Encore une fois, j'ai raison?

+0

Ceci est mon post décrivant cela http://stackoverflow.com/a/15451070/168048 – szkra

Répondre

5

Vous êtes sur. La fabrique de sessions est chère à construire et bien adaptée en tant que singleton alors que la session est un objet contextuel plus léger enveloppant "l'unité de travail".

Pour en savoir plus, vous pouvez lire sur l'installation WCF château qui propose une solution à ce problème. Voici un blog post qui l'explore.