Pregunta

Soy un principiante en NHibernate y Castle Windsor, pero la aplicación actual en la que estoy trabajando es hacer uso del Nivel 2 de integración de instalaciones NHibernate de Castle Windsor, es decir, utilizando el ISessionManager.

He comparado lo que necesito hacer para persistir manualmente mis datos y usar ISessionManager y realmente no estoy escribiendo menos código. Mi pregunta es ¿por qué incluso necesito iSessionManager? ¿Qué ventajas me ofrece? ¿Cuáles son las desventajas del uso de ISessionManager?

¿Fue útil?

Solución

Bueno, en primer lugar, no tienes que administrar las sesiones tú mismo. En un ambiente web, generalmente desea alcanzar su solicitud de relaciones públicas de sesiones. El gerente de la sesión asegura que la primera persona que llame a "Opensession" comience una nueva sesión, mientras que las invocaciones anidadas obtienen la misma sesión al invocar "OpenSession". Puede hacer lo mismo al mirar/cerrar sesiones en un httpmodule o usar un patrón AOP, tenga en cuenta que hacer esto implica que está trabajando en una base de datos, manejar múltiples bases de datos usted mismo se vuelve un poco más tedioso. IsessionManager maneja múltiples bases de datos tan ordenadas como maneja una.

+ Manja sesiones para usted liviano y no intrusivo soporte fácil simple para trabajar en múltiples bases de datos que aloja el agnóstico (funciona igual de bien con nservicebushosting como lo hace con IIS)

- un poco más de código de horario en su dal/repositorios/como se llame

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top