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 t
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.