3

考虑一个每视图事务模型,其中IHttpModulei 使用标准打开事务ISession

现在,我有一个页面,我想做一些批处理操作。由于IStatelessSession是批处理操作的首选:

  1. 可以同时ISessionIStatelessSession吗?安全吗?
  2. 如果 1. 是的,我可以使用相同的ITransaction吗?
  3. 如果 2. 不,我应该 Commit & Close the ISessionand its associatedITransaction然后为它打开IStatelessSession和新ITransaction的吗?
  4. 如果 3. 是,我应该注意哪些陷阱?

欢迎任何想法

4

1 回答 1

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

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

于 2010-06-24T12:28:48.580 回答