How should I have the NHibernate Session Factory and the sessions for a WinForms application?

Should the SessionFactory be a singleton? Or can I create it every time? What about sessions and transactions? 

Any help would be appreciated. Thanks