在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
英文搜索关键字: 文章地址:https://stackoverflow.com/questions/313199/sql-transactions-best-way-to-implement-in-asp-net 文章标题:Sql Transactions:ASP.Net中实现的最佳方式 Database transaction management in asp.net 示例代码: 首先,我不会在页面中处理事务逻辑。编写某种类型的业务类来实现这一点 - 服务,数据实用程序类,您可以从ASP.Net中抽象出来。 接下来,如果您使用的数据库可以订阅像SQL Server这样的分布式事务,您可以查看使用TransactionScope类(在System.Transactions命名空间中,引用System.Transactions.dll)。 using(TransactionScope scope = new TransactionScope()) { SaveObjectOne(); //these are just psuedo-code statements SaveObjectTwo(); //replace these with your code that saves various objs SaveObjectThree(); scope.Complete(); //this commits the transaction, unless exception throws } 的TransactionScope实现IDisposable,所以当使用调用Dispose()方法交易将回滚如果完成()从未被调用。您需要启用分布式事务处理协调器以使用TransactionScope。
并非总是如此,但它极大地简化了事情。 有关何时需要启用DTC的更好参考,请访问msdn.microsoft.com/en-us/library/ms229978.aspx - 最好再看看国内的示例,看下原文。 -------------------------- 20190830更新 文章:.Net高级进阶,在复杂的业务逻辑下,如何以最简练的代码,最直观的编写事务代码? 这个博客讲了个很详细的优化示例,评论区也有真知灼见,可以学习借鉴下。
|
请发表评论