Domanda

Sono un principiante sia NHibernate e Castello di Windsor, ma l'applicazione corrente su cui sto lavorando è fatto uso di struttura NHibernate del Castello di Windsor livello di integrazione 2 vale a dire utilizzando l'ISessionManager.

Ho confrontato che cosa devo fare per persistere manualmente i miei dati e usare ISessionManager e io non sono davvero scrivere meno codice. La mia domanda è perché ne ho nemmeno bisogno ISessionManager? Quali vantaggi è vero che mi offre? Quali sono gli svantaggi di usare ISessionManager?

È stato utile?

Soluzione

Prima di tutto, voi non c'è bisogno di gestire le sessioni da soli. In un web-ambiente in genere si desidera ambito le sessioni pr richiesta. I assicura gestore delle sessioni che il primo chiamante di "OpenSession" avvia una nuova sessione, mentre invocazioni nidificati ottiene la stessa sessione quando si richiama "OpenSession". Si può fare lo stesso da soli fissando / chiudendo le sessioni in un HttpModule o utilizzando un modello di AOP, nota che facendo questo implica che si sta lavorando contro una base di dati, la gestione di più database da soli diventa un po 'più noioso. ISessionManager gestisce più database altrettanto ordinata come si gestisce uno.

+ Maniglie sessioni per voi Leggero, non intrusivo Semplice supporto Facile per lavorare contro più database Hosting agnostico (funziona altrettanto bene con nservicebushosting come fa con IIS)

- Un po 'più codice standard nella vostra DAL / Repository / qualunque cosa si voglia chiamare

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top