我可以同时拥有 ISession 和 IStatelessSession 吗?
考虑一个每视图事务模型,其中使用 IHttpModule
我使用标准 ISession
打开事务。
现在,我有一个页面,我想在其中执行一些批处理操作。由于 IStatelessSession
是批处理操作的首选:
- 我可以同时打开
ISession
和IStatelessSession
吗?安全吗? - 如果 1. 可以,我可以使用相同的
ITransaction
吗? - 如果 2. 不,我应该提交 &关闭
ISession
及其关联的ITransaction
,然后打开IStatelessSession
及其新的ITransaction
? - 如果 3. 是的,我应该注意什么陷阱吗?
欢迎任何想法
Consider a transaction-per-view model where with an IHttpModule
i open a transaction using a standard ISession
.
Now, i have a page where i want to do some batch operations. Since IStatelessSession
is preferred for batch operations:
- Can i have both
ISession
andIStatelessSession
open at the same time? Is it safe? - If 1. yes can i use the same
ITransaction
? - If 2. no should i Commit & Close the
ISession
and its associatedITransaction
and then open theIStatelessSession
and a newITransaction
for it? - If 3. yes are there any pitfalls i should be aware of?
any ideas are welcome
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我建议不要为每个 HTTP 请求启动事务。当您需要提交更改时,请在页面上启动并提交事务。这也改进了异常处理,因为您可以在页面上而不是在请求结束时捕获异常。
I recommend not starting a transaction for every HTTP request. Instead start and commit a transaction on the page when you have changes to commit. This also improves exception handling because you can catch the exception on the page instead of at the end of the request.