是否可以获取与DB或File-IO无关的用法示例?
我读过关于IEnlistmentNotification和事务的文章,想知道我是否可以对我的自定义类(比如我自己的资源管理器)使用事务性行为,它只在内存中?
场景我想知道-假设我在内存中有一些数据结构,它有大约5个属性(线程安全)。我启动了5个线程,每个线程更新一个属性(假设是计算密集型的)。现在4可能会成功,5可能会失败,在这种情况下,我希望将数据结构回滚到其原始状态。我可以在这种情况下实现DependantTransaction吗?
PS:我知道我可以手动保存克隆的副本,在catch块中恢复它,等等。
发布于 2012-05-31 15:34:51
已经有一些针对内存中对象的事务作用域提供程序的第三方实现;然而,一般来说,它们有点古怪,不值得为此付出代价--特别是在使用线程的情况下。坦率地说,我强烈建议您更多地查看常规的memento模式,或者不需要回滚的不可变数据结构(即,您只需丢弃单独的、变异的副本)。
是的,这可能是可以做到的,但除非编写事务作用域提供程序是您项目的目的,否则我建议您首先专注于交付应用程序逻辑。只是说说而已
发布于 2012-05-31 17:10:21
https://stackoverflow.com/questions/10829195
复制相似问题