Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

NHibernate Win Forms Session Management

I have used NHibernate in web applications before. I must admit that I am still learning NHibernate and do not totally grasp the art of session management. So I would like to use NHibernate within a Win Forms application that I am writing. I hear that session management in a Forms application is a bit different. Sessions must be opened and closed on a conversation basis. Yes? Does anyone know of a good example of this? Or perhaps some cohesive documentation explaining session creation and tear down within a win32 app?

Thanks,

Nick

like image 535
Nick Avatar asked May 17 '09 16:05

Nick


2 Answers

There is already a pattern established for managing NHibernate sessions in WinForms applications called Conversation per business transaction. A good description can be found here:

http://fabiomaulo.blogspot.com/2008/12/conversation-per-business-transaction.html http://fabiomaulo.blogspot.com/2009/01/using-conversation-per-business.html

Basically it uses a conversation abstraction: it can start, pause, resume, end. Each operation does automatic session and transaction management. I highly recommend it, definitely worth taking a look.

like image 60
bbmud Avatar answered Sep 18 '22 19:09

bbmud


Here are some good pointers on this subject.

like image 3
Darin Dimitrov Avatar answered Sep 17 '22 19:09

Darin Dimitrov