title: Difference between CallSessionContext, ThreadLocalSessionContext and ThreadStaticSessionContext
body: <p>From <a href="http://nhforge.org/doc/nh/en/index.html?bcsi_scan_F246D99C5E000224=0&amp;bcsi_scan_filename=index.html#architecture-current-session" rel="noreferrer">NHibernate documentation</a>, it doesn't explain much.</p>
  
  <p>What is the difference between those three ?</p>
  
  <p>In what situation that one of those context is more preferable than the others ?</p>
  
  <p>P.S. <code>ThreadLocalSessionContext</code> doesn't exist in the documentation, but it does exist in <em>NHibernate</em> dll.</p>