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)是并发控制的单位,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不 ...
随机推荐
- 【VS开发】Windows平台下Makefile学习笔记
作者:朱金灿 来源:http://blog.csdn.net/clever101 决心学习Makefile,一方面是为了解决编译开源代码时需要跨编译平台的问题(发现一些开源代码已经在使用VS2010开 ...
- 安装新版redis4.0.6
看看新版本有那些特性提升,测试用!先安装 网址:https://redis.io/download 获取:wget http://download.redis.io/releases/redis-4. ...
- Fiddler之打断点
1..Fiddler可以修改以下请求 --Fiddler设置断点,可以修改HTTP请求头信息,如修改Cookie,User-Agent等 --可以修改请求数据,突破表单限制,提交任意数字,如充值最小1 ...
- 给出一个javascript的Helloworld例子
1.基础知识:Helloworld:例 1.1<html><head> <!-- 如果你用notepad建立一个txt之后你再改为html,一定在存时,要存成ut ...
- java源码 -- TreeSet
这个TreeSet其实和HashSet类似.HashSet底层是通过HashMap实现的,TreeSet其实底层也是通过TreeMap实现的. 简介 TreeSet的作用是保存无重复的数据,不过还对这 ...
- 数据结构 -- 链表(LinkedList)
链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的.链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成. 每个结点包括两个部分 ...
- 消息中间件——RocketMQ(一) 环境搭建(完整版)
每章一点正能量:每当你想要放弃的时候,就想想是为了什么才一路坚持到现在. 前言 最近在回顾复习Java基础中的一些知识点,发现了一些以前见过但是没有留意却特别有意思的知识特性,比如这次想分享的Java ...
- (十一)El表达式详细介绍
看之前,最好先看下 el表达式快速入门 本来将重点讲下 el表达式 能干嘛 : 目录 执行计算 获得 web 开发常用对象 关于 param 与 paramValues 的用法: 关于 header ...
- C++Primer 5th Chap7 Classes
this关键字: 在成员函数内部可以直接调用函数的对象的成员(类成员的直接访问看做是对this隐式引用,默认this指向非常量) 例如:string isbn() const{return this- ...
- C# wsdl.exe 生成类文件
wsdl.exe D:\XXX\demand\demand.\wsdl\XXX.wsdl /\wsdl\class 在 vs tools:Developer Command Prompt For VS ...