asp.net中数据库事务管理
英文搜索关键字:
文章地址: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高级进阶,在复杂的业务逻辑下,如何以最简练的代码,最直观的编写事务代码?
这个博客讲了个很详细的优化示例,评论区也有真知灼见,可以学习借鉴下。
asp.net中数据库事务管理的更多相关文章
- Spring中的事务管理
事务简介: 事务管理是企业级应用程序开发中必不可少的技术,用来确保数据的完整性和一致性 事务就是一系列的动作,它们被当作一个单独的工作单元.这些动作要么全部完成,要么全部不起作用 事务的四个关键属性( ...
- Spring中的事务管理详解
在这里主要介绍Spring对事务管理的一些理论知识,实战方面参考上一篇博文: http://www.cnblogs.com/longshiyVip/p/5061547.html 1. 事务简介: 事务 ...
- 在Controller中添加事务管理
文章参考了此博客: https://blog.csdn.net/qq_40594137/article/details/82772545 写这篇文章之前先说明一下: 1. Controller中添加事 ...
- Net Core中数据库事务隔离详解——以Dapper和Mysql为例
Net Core中数据库事务隔离详解--以Dapper和Mysql为例 事务隔离级别 准备工作 Read uncommitted 读未提交 Read committed 读取提交内容 Repeatab ...
- Spring Boot中的事务管理
原文 http://blog.didispace.com/springboottransactional/ 什么是事务? 我们在开发企业应用时,对于业务人员的一个操作实际是对数据读写的多步操作的结合 ...
- Spring3数据库事务管理机制
Spring对事务的解决办法其实分为2种:编程式实现事务,AOP配置声明式解决方案. http://jinnianshilongnian.iteye.com/blog/1496953 Spring提供 ...
- hibernate中的事务管理是怎么概念?
1.JDBC事务 JDBC 事务是用 Connection 对象控制的.JDBC Connection 接口( java.sql.Connection )提供了两种事务模式:自动提交和手工提交. ja ...
- Spring Boot中的事务管理 隔离级别
在声明事务时,只需要通过value属性指定配置的事务管理器名即可,例如:@Transactional(value="transactionManagerPrimary"). 除了指 ...
- django中的事务管理
在讲解之前首先来了解一下数据库中的事务. 什么是数据库中的事务? 热心网友回答: ():事务(Transaction)是并发控制的单位,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不 ...
随机推荐
- 第一章 Shiro简介——《跟我学Shiro》
转发地址:https://www.iteye.com/blog/jinnianshilongnian-2018936 目录贴:跟我学Shiro目录贴 1.1 简介 Apache Shiro是Java ...
- (三)Asp.net web api中的坑-【http post请求中的参数】
接上篇, HttpPost 请求 1.post请求,单参数 前端 var url = 'api/EnterOrExit/GetData2';var para = {};para["Phone ...
- 用Python做一个简单的小游戏
学习总是枯燥的,对于Python小白的我来讲,更是乏味的.为了提高学习的兴趣,今天我就来写一个小程序练练手. 数字猜谜游戏相信大家都不陌生,A给出最小值最大值,B写一个该范围内的数,A猜测写下的是多少 ...
- JS实现使用Math.random()函数生成n到m间的随机数字
Math.random()函数返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1) 生成n-m,包含n但不包含m的整数: 第一步算出 m-n的值,假设等于w 第二步Math.random()w ...
- Jquery生成二维码(微信中长按图片识别二维码功能)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- DMSETUP命令
dmsetup命令是用来与Device Mapper沟通的命令行封装器(wrapper).可使用dmsetup命令的info,ls,status和deps查看LVM设备的常规信息,如以下小结所述 dm ...
- 岩哥带你飞——Spring 学习1&重要组件
------------------------------------------------------------------------------ 准备工作:1.创建一个web 项目 2.创 ...
- java.lang.reflect.InvocationTargetException at shade.com.datastax.spark.connector.google.common.base.Throwables.propagate(Throwables.java160)
org.apache.spark.SparkException: Job aborted due to stage failure: Task 1 in stage 29.1 failed 4 tim ...
- 一个好隐蔽的C/C++代码bug
来自:微博@ruanyf, 一本书上说,下面的 C 语言代码可能会产生无限循环.看了半天,才意识到 Bug 在哪里. 完美解答: 数组下标越界.数组a总共有10个值,a[0]~a[9].for循环里面 ...
- Vue中常用知识点demo
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...