C# WinForms アプリケーションの NHibernate セッション管理についてアドバイスが必要です。
現在、NHibernate を使用するアプリケーションを移植しています。以下のリンクで説明されているように、UnitOfWork パターンも採用しています。
http://nhforge.org/wikis/patternsandpractices/nhibernate-and-the-unit-of-work-pattern.aspx
私の質問はセッションに関するものです。
スレッドごとに常に 1 つのセッションのみを実行できますか?
アプリケーションによって表示されるフォームに対してセッション (UnitOfWork) が開いている可能性がありますが、ユーザーは別のフォーム (つまり、ツール - オプション) を開いて、それを独自の UnitOfWork にしたいというシナリオがあります。この場合、"Tools - Options" フォーム用に別のセッションを開き、現在開いているセッションを基になるフォーム用に使用しない方が明らかに理にかなっています。
1 つのスレッドでセッションのディクショナリを使用できますか?
セッション管理に関するアドバイスをいただければ幸いです。