2010-06-24 75 views
3

考虑一种交易观看模式,其中IHttpModule我使用标准ISession开立交易。我可以同时使用ISession和IStatelessSession吗?

现在,我有一个页面,我想要做一些批量操作。由于IStatelessSession优选用于批处理操作:

  1. 我可以有两种ISessionIStatelessSession开在同一时间?它安全吗?
  2. 如果1.是,我可以使用相同的ITransaction吗?
  3. 如果没有2.我应该提交&关闭ISession及其相关ITransaction然后打开IStatelessSession,并为其新ITransaction
  4. 如果3.是的,我应该注意哪些缺陷?

任何想法,欢迎

回答

2
  1. 是,是的。
  2. 不,每个都有自己的交易。
  3. 我会提交ISession的事务,但保持ISession打开状态。

我建议不要为每个HTTP请求启动事务。相反,当您提交更改时,请在页面上启动并提交事务。这也改进了异常处理,因为您可以捕获页面上的异常,而不是请求末尾的异常。

相关问题