2008-11-17 11 views
6

Soy un principiante con respecto a WCF y NHibernate. Sin embargo, tengo que hacer un pequeño proyecto que involucre varios servicios (hechos con WCF) y una capa persistente (hecha con NHibernate).WCF + NHibernate + ISession =?

Mi problema se refiere al uso de ISession e ISessionFactory. He leído (y visto) que la creación de instancias de ISessionFactory es muy pesada (y segura para subprocesos). Por lo tanto, creo que podría instanciar esta clase solo una vez durante el tiempo de ejecución de la aplicación. ¿Estoy en lo cierto?

Mi problema se refiere más a la clase ISession. No sé exactamente en qué granularidad tengo que usarlo. Creo que debería usar/crear una instancia para cada operación de llamada a servicio (utilizo "servicios por llamada"). De nuevo, estoy en lo cierto?

+0

Esta es mi publicación que describe este http://stackoverflow.com/a/15451070/168048 – szkra

Respuesta

5

Estás en el clavo. La fábrica de sesiones es cara de construir y adecuada como singleton, mientras que la sesión es un objeto contextual más liviano que envuelve la "unidad de trabajo".

Para obtener más información, puede leer sobre las instalaciones de WCF del castillo que proponen una solución a este problema. Aquí hay un blog post que lo explora.

Cuestiones relacionadas