考虑每次观看交易模型,其中使用IHttpModule
我使用标准ISession
打开交易。
现在,我有一个页面,我想在其中执行一些批处理操作。由于IStatelessSession
是批处理操作的首选,因此:
我可以同时打开ISession
和IStatelessSession
吗?安全吗?
如果1.是,我可以使用相同的ITransaction
吗?
如果2.否,我应该提交并关闭ISession
及其关联的ITransaction
,然后为其打开IStatelessSession
和新的ITransaction
吗?
如果3.是,我应该注意哪些陷阱?
任何想法都欢迎
最佳答案
是的,是的。
不,每个人都有自己的交易。
我将提交ISession的事务,但保持ISession打开。
我建议不要为每个HTTP请求启动事务。当您有要提交的更改时,请在页面上启动并提交事务。这还可以改善异常处理,因为您可以在页面上而不是在请求结束时捕获异常。