Nhibernate 在桌面应用程序中使用ActiveRecord SessionScope的正确方法是什么?

Nhibernate 在桌面应用程序中使用ActiveRecord SessionScope的正确方法是什么?,nhibernate,desktop-application,windows-authentication,castle-activerecord,session-scope,Nhibernate,Desktop Application,Windows Authentication,Castle Activerecord,Session Scope,在使用Castle ActiveRecord的桌面应用程序中 我打开一个SessionScope并在应用程序生命周期内保持活动状态,我在应用程序结束时处理它 当我需要做“某件事”时,我会这样做,如果我需要事务操作,我会根据需要创建TransactionScope和嵌套事务,在事务正确结束后,我会刷新会话并继续保持SessionScope的活动状态 这个说法正确吗?或者我需要在bl流程开始时打开一个SessionScope,然后在结束时关闭它?如果是,为什么 我使用LazyLoad,一个进程可以根

在使用Castle ActiveRecord的桌面应用程序中

我打开一个SessionScope并在应用程序生命周期内保持活动状态,我在应用程序结束时处理它

当我需要做“某件事”时,我会这样做,如果我需要事务操作,我会根据需要创建TransactionScope和嵌套事务,在事务正确结束后,我会刷新会话并继续保持SessionScope的活动状态

这个说法正确吗?或者我需要在bl流程开始时打开一个SessionScope,然后在结束时关闭它?如果是,为什么

我使用LazyLoad,一个进程可以根据需要调用另一个进程,同时单个进程可以单独运行

-更新- 正确的做法是在表单级别打开sessionscope,但由于ar sessionscope是以堆栈方式创建的,因此在同一级别上不能有多个sessionscope,我只有一个sessionscope转换为另一个sessionscope,有人知道如何解决此问题?

已解决: 实现IThreadScopeInfo管理堆栈集合。 我开始觉得ar城堡不受欢迎了

多谢各位