在使用 Castle ActiveRecord 的桌面应用程序中
我打开一个 SessionScope 并在应用程序生命周期内保持活动状态,我在应用程序结束时处理它。
当我需要做“某事”时,我会这样做,如果我需要事务操作,我会根据需要创建 TransactionsScope(s) 一个嵌套事务,在事务正确结束后,我会刷新会话并继续保持 SessionScope 活动。
这种方法正确吗?或者我需要在 bl 进程开始时打开一个 SessionScope 并在最后关闭它?如果是,为什么?
我使用LazyLoad,一个进程可以根据需要调用另一个进程,同时单个进程可以单独运行。
-更新- 正确的方法是在表单级别打开一个会话范围,但是由于 ar 会话范围是以堆栈方式创建的,我不能在同一级别拥有超过 1 个会话范围,我只有一个会话范围进入另一个,有人知道如何解决这个问题吗?