【发布时间】:2011-10-25 12:03:49
【问题描述】:
我过去曾在桌面客户端应用程序中使用 TransactionScope 来回滚不完整的多步骤事务。这种方法似乎不太可能在 Web 应用程序中工作。
如果整个过程未完成,任何人都可以建议如何确保跨多个页面的多个步骤回滚? (例如,他们的浏览器崩溃或在中间过程中关闭浏览器)
当然,我可以写入某种临时表,然后在单个事务中将最终记录传输到真实表,但这存在竞争条件的风险。我想开始一个事务,服务几个页面,每个页面将一段事务写入表,然后通过提交完成事务,如果事务未完成,则回滚时会话结束。
还是我的想法不对?建议?
由于我使用的是 MVC 3、EF 4.1 和 Ninject,我不确定这将如何影响解决方案,但我想我会包含这些信息。
【问题讨论】:
标签: c# asp.net-mvc transactions entity-framework-4.1 ninject