C#中的事务首先,这不是一篇关于数据库事务的帖子。我正在尝试了解有关.NET2.0及更高版本中的TransactionModel的更多信息。由于我正在针对.NET3.5进行开发,因此应用程序的新版本受到关注。现在,我想要实现的是以下publicvoidWithdraw(doubleamount){using(TransactionScopescope=newTransactionScope()){Money-=amount;如果(金钱>0)范围。完成();这意味着当Money小于0时,TransactionScope中的所有内容都应该回滚,但事实并非如此。简单测试如下ImportantObjectobj=newImportantObject(1);Console.WriteLine(obj.Money);obj.Withdraw(101);Console.WriteLine(obj.Money);前提是StadardMoney金额为100。我在这里遗漏了什么,或者这不是交易应该如何运作的?使用这个模型有任何性能损失吗?您可能希望阅读.NET中的易失性资源管理器:JuvalLowy将事务引入公共类型。我认为您混淆了TransactionScope的设计目的。TransactionScope旨在提交或回滚您所连接的数据库中的更改。它不会撤消对代码中对象的更改。它不会反转“Money”中包含的值。Randy你追求的是STM,软件事务内存。查看http://research.microsoft.com/en-us/downloads/6cfc842d-1c16-4739-afaf-edb35f544384/default.aspx以上就是C#学习教程:C#事务分享的全部内容,如果你有会用到,需要详细了解C#学习教程。希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
