首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TransactionScope和DependantTransaction

TransactionScope和DependantTransaction
EN

Stack Overflow用户
提问于 2012-05-31 15:29:55
回答 2查看 245关注 0票数 1

是否可以获取与DB或File-IO无关的用法示例?

我读过关于IEnlistmentNotification和事务的文章,想知道我是否可以对我的自定义类(比如我自己的资源管理器)使用事务性行为,它只在内存中?

场景我想知道-假设我在内存中有一些数据结构,它有大约5个属性(线程安全)。我启动了5个线程,每个线程更新一个属性(假设是计算密集型的)。现在4可能会成功,5可能会失败,在这种情况下,我希望将数据结构回滚到其原始状态。我可以在这种情况下实现DependantTransaction吗?

PS:我知道我可以手动保存克隆的副本,在catch块中恢复它,等等。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-31 15:34:51

已经有一些针对内存中对象的事务作用域提供程序的第三方实现;然而,一般来说,它们有点古怪,不值得为此付出代价--特别是在使用线程的情况下。坦率地说,我强烈建议您更多地查看常规的memento模式,或者不需要回滚的不可变数据结构(即,您只需丢弃单独的、变异的副本)。

是的,这可能是可以做到的,但除非编写事务作用域提供程序是您项目的目的,否则我建议您首先专注于交付应用程序逻辑。只是说说而已

票数 1
EN

Stack Overflow用户

发布于 2012-05-31 17:10:21

找到这些如果其他人感兴趣的话-

Another SO question

STM in C#

STM.NET Library

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10829195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档