考虑每次观看交易模型,其中使用IHttpModule我使用标准ISession打开交易。

现在,我有一个页面,我想在其中执行一些批处理操作。由于IStatelessSession是批处理操作的首选,因此:


我可以同时打开ISessionIStatelessSession吗?安全吗?
如果1.是,我可以使用相同的ITransaction吗?
如果2.否,我应该提交并关闭ISession及其关联的ITransaction,然后为其打开IStatelessSession和新的ITransaction吗?
如果3.是,我应该注意哪些陷阱?


任何想法都欢迎

最佳答案

是的,是的。
不,每个人都有自己的交易。
我将提交ISession的事务,但保持ISession打开。


我建议不要为每个HTTP请求启动事务。当您有要提交的更改时,请在页面上启动并提交事务。这还可以改善异常处理,因为您可以在页面上而不是在请求结束时捕获异常。

10-07 15:45