所以我正在构建一个使用嵌套TransactionScopes
的程序。最初,我使用了默认的构造函数,但是当我的一个内部作用域失败时,发现一切都失败了,我无法继续。我想要的是有一个内部作用域可以在不停止外部作用域的情况下失败,但如果外部作用域失败,我希望所有内部作用域都被回滚。那可能吗?TransactionScope:如果内部作用域失败,如何使外部作用域继续?
3
A
回答
0
虽然在SQL中有一些事务级别,并且似乎嵌套事务存在,但事实并非如此 - 至少不像您认为的那样(我知道,有类似的问题需要解决)。
实验:您可以尝试在SQL查询窗口中调用多个begin tran,询问事务级别和事务ID。级别会增加,但在每次交易中,您将获得最外层交易的ID,因此使用最外层的交易(,因此TransactionScope.Requires新选项对不是很大帮助)。
可能的解决方案:您想要实现的是可能的,但不完全如此:您可以绕过内部作用域的事务(但必须坚持原子进程)。如果这不适用,您必须重新考虑您所做的事情以及您是否可以在没有这种复杂性的情况下解决它...
了解更多关于事务嵌套的信息,它在Oracle和SQL上表现不同。
相关问题
- 1. 函数作用域内部和外部数组之间的作用域泄漏?
- 2. 如果外部事务作用域未完成,内部事务作用域是否会回滚?
- 3. DAO类的spring单例作用域如何在内部工作
- 4. 使用类作用域解析局部作用域的阴影
- 5. 如何子域链接到外部域
- 6. javascript函数内部作用域属性
- 7. 如何将jQuery AJAX用于外部域?
- 8. 如何使用JQuery加载div内的外部域名页面?
- 9. 如何访问类作用域之外但父类作用域内的变量?
- 10. goddady域名指向外部vps/plesk,子域名不起作用
- 11. 如何缓存在Async NodeJS调用中使用的外部作用域值?
- 12. 混淆变量作用域(来自外部作用域的阴影变量)
- 13. 用browserify导出内部库依赖关系到外部作用域
- 14. Newrelic Azure网站继续部署失败
- 15. 使用appspot.com作为部分域名cookie
- 16. 使用线程嵌套TransactionScope,使用和不使用外部transactionScope
- 17. PHP脚本继续如果MySQL失败
- 18. 如果循环失败则继续
- 19. 从外部域
- 20. 如何使用功能性方法更新内部作用域的值?
- 21. jQuery的不工作的外部域
- 22. 使用继续从跳过内部SWICH
- 23. TeamCity继续使用相同的代理,如果它失败
- 24. 如何指示没有例外的失败操作(多个应用程序域)?
- 25. 如何使用Q Promise内部和外部的结果promise.spread
- 26. 使用外部模型的域 - Odoo 9
- 27. Ansible:如果在内部如何制作?
- 28. AngularJS指令 - 隔离作用域和被继承作用域
- 29. 角度js作用域变量从重定向从外部调用丢失
- 30. 将外部css文件应用于作用域div标记?
“我想要的是有一个内部作用域可以在不停止外部作用域的情况下失败”然后外部作用域不是一个事务。 – dursk
@mattm好吧,使用事务范围是没有办法检测错误,回滚最后几个操作(即一个innerscope),然后继续处理? 如果我摆脱了外部范围,那么基本上我有一堆孤立的TransactionScopes,一次执行一个。如果我确定需要的话,有什么办法可以回滚所有成功的吗? – ForeverNoobie
检出:http://msdn.microsoft.com/en-us/library/ms172152%28v=vs.90%29.aspx#Y1642和http://stackoverflow.com/questions/2741988/nested-child -transactionscope-rollback – dursk