Question

Je suis un débutant à la fois NHibernate et le château de Windsor, mais l'application actuelle je travaille fait usage de l'installation NHibernate niveau d'intégration au château de Windsor 2 à savoir l'aide de la ISessionManager.

Je l'ai comparé ce que je dois faire pour persister manuellement mes données et en utilisant ISessionManager et je vous écris pas vraiment moins de code. Ma question est pourquoi ai-je besoin même ISessionManager? Quels avantages est-il me propose? Quels sont les inconvénients de l'utilisation ISessionManager?

Était-ce utile?

La solution

Well first of all, you don't have to manage sessions yourself. In a web-enviroment you typically want to scope your sessions pr request. The session manager ensures that the first caller to "OpenSession" starts a new session, while nested invocations gets the same session when invoking "OpenSession". You can do the same yourself by staring/closing sessions in a httpmodule or using an AOP pattern, note that doing this implies that your are working against one database, handling multiple databases yourself gets a bit more tedious. ISessionManager handles multiple databases just as tidy as it handles one.

+ Handles sessions for you Lightweight, non intrusive Simple Easy support for working against multiple databases Hosting agnostic (works just as well with nservicebushosting as it does with IIS)

- A bit more boilerplate code in your DAL/Repositories/whatever you call it

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top