在使用Castle ActiveRecord的桌面应用程序中
我打开一个SessionScope并在应用程序生命周期内保持活着,我在应用程序结束时将其处理掉。
当我需要执行“某些操作”时,我会这样做,如果我需要事务操作,我会根据需要创建一个嵌套事务的TransactionsScope,在事务正确结束后,我会刷新会话并继续保持活动状态SessionScope。
这种方法是否正确?或者我需要在bl进程开始时打开SessionScope并在结束时关闭它?如果是的话,为什么?。
我使用LazyLoad并且进程可以根据需要调用另一个进程,同时单个进程可以单独运行。
-update- 有正确的方法是在表单层打开一个会话镜,但由于ar会话镜是以堆叠方式创建的,我在同一级别上不能有超过1个会话镜,我只有一个会话镜到另一个,有人知道怎么做解决这个问题?
答案 0 :(得分:0)
解决: 实现管理堆栈集合的IThreadScopeInfo。 我开始认为castle ar已被弃用。
谢谢。