transactionscopetransaction number是什么意思

transactionscope  时间:2021-06-13  阅读:()

transactionscope 默认什么级别

分布式事务处理TransactionScope 和 非分布式事务处理 TransactionScope它的用途是为数据库访问提供了一个“轻量级” 区别于:SqlTransaction 的事物 TransactionScope这个事务自身还封装了多个数据库查询。

只要任意一个 SqlCommand 对象引发异常,程序流控制就会跳出 TransactionScope 的 using 语句块,随后,TransactionScope 将自行释放并回滚该事务。

由于这段代码使用了 using 语句,所以 SqlConnection 对象和 TransactionScope 对象都将被自动调用Dispose()释放。

由此可见,只需添加很少的几行代码,您就可以构建出一个事务模型,这个模型可以对异常进行处理,执行结束后会 自行清理,此外,它还可以对命令的提交或回滚进行管理。

TransactionScope在文档中宣称只在“必要”情况下才提升事务级别(多数据库时才使用分布式事务,如果是同一个数据库,最好使用SqlTransaction),但是事实上不是这样。

在TransactionScope内,只要你用不同的SqlConnection对象操作DB一次以上(不管你的目标是不是同一个实例、同一个库),都会提升事务级别到分布式事务。

使用分布式事务注意如下几点 1:确保参与事务的machine开启了分布式事务支持; 2:如果machine开启了防火墙,需要设置msdtc进程为例外; 3:参与事务的machine不能跨域(如果跨域,目前微软还没有确切的解决方案); 4:多数据库时才使用分布式事务,如果是同一个数据库,最好使用SqlTransaction. 大部分都是用SqlTransaction这个类来在程序代码中保证事务性,但是SqlTransaction是与SQL Server数据库相关的类,如果将这个类用在了B层,那么就突破了三层架构的底线了,如果将来换数据库(比如从SQL Server换到Oracle),D层和B层都得重写,所以这样做的局限性很大。

用TransactionScope,这个类是与具体数据库无关的类,用这个类来保证B层的事务性十分可行。

示例: //// /// 发送消息 /// /// /// 格式7FFA3AF2-E74B-4174-8403-5010C53E49A7|userName,7FFA3AF2-E74B-4174-8403-5010C53E49A7|userName /// /// 表示已送 /// public static int sendMessage(string sendUserId, string toUser, string content, string sendedStatus) { int receiveCount = 0; TransactionOptions transactionOption = new TransactionOptions(); //设置事务隔离级别 transactionOption.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; // 设置事务超时时间为60秒 transactionOption.Timeout = new TimeSpan(0, 0, 60); using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, transactionOption)) { try { //在这里实现事务性工作 //发送消息 insertMessage(sendUserId, toUser, content, sendedStatus); //在接收信息表中插入记录 receiveCount += insertReceiveMessage(userids[0], sendUserId, content, "0"); // 没有错误,提交事务 scope.Complete(); } catch (Exception ex) { throw new Exception("发送信息异常,原因:"+ex.Message); }finally{ //释放资源 scope.Dispose(); } } return receiveCount; }

transaction quantity是什么意思

transaction quantity 网 络 事务处理数量 双语例句 1. Implements the storage quantity room transaction tax revenue subsidy. 实行存量房交易税收补贴.

transaction number是什么意思

1. 交易号码 transaction note 交易单据 | transaction number 交易号码 | transaction price 成交价 2. 交易编号 transaction code 交易代码 | transaction number 交易编号 | transfer 转让 3. 事务处理号 Trade Name 商标名 | Transaction Number 事务处理号| Transport Network 传输网络

Kinponet是谁?Kinponet前身公司叫金宝idc 成立于2013年 开始代理销售美国vps。

在2014年发现原来使用VPS的客户需求慢慢的在改版,VPS已经不能满足客户的需求。我们开始代理机房的独立服务器,主推和HS机房的独立服务器。经过一年多的发展,我们发现代理的服务器配置参差不齐,机房的售后服务也无法完全跟上,导致了很多问题发生,对使用体验带来了很多的不便,很多客户离开了我们。经过我们慎重的考虑和客户的建议。我们在2015开始了重大的改变, 2015年,我们开始计划托管自己...

spinservers春节优惠:$149/月10Gbps圣何塞服务器-2*E5-2630Lv3 CPU,256G内存,2*1.6T SSD硬盘

spinservers是Majestic Hosting Solutions LLC旗下站点,商家提供国外服务器租用和Hybrid Dedicated等产品,数据中心包括美国达拉斯和圣何塞机房,机器默认10Gbps端口带宽,高配置硬件,支持使用PayPal、信用卡、支付宝或者微信等付款方式。农历春节之际,商家推出了几款特别促销配置,最低双路E5-2630Lv3机器每月149美元起,下面列出几款机器...

ZJI(月付450元),香港华为云线路服务器、E3服务器起

ZJI发布了9月份促销信息,针对香港华为云线路物理服务器华为一型提供立减300元优惠码,优惠后香港华为一型月付仅450元起。ZJI是原来Wordpress圈知名主机商家:维翔主机,成立于2011年,2018年9月更名为ZJI,提供中国香港、台湾、日本、美国独立服务器(自营/数据中心直营)租用及VDS、虚拟主机空间、域名注册等业务,商家所选数据中心均为国内访问质量高的机房和线路,比如香港阿里云、华为...

transactionscope为你推荐
oa办公系统下载完全免费的oa办公系统qq网络硬盘怎么用qq网络硬盘币众筹众筹平台开发哪家好kjava谁能告诉我KJAVA是什么意思和普通的JAVA程序有什么区别?移动硬盘文件或目录损坏且无法读取移动硬盘提示文件或目录损坏且无法读取!网络备份win7中如何备份网络设置挂qq网站那有挂QQ的网站啊视频服务器软件有没有集体视频的网站或者软件??手机群发软件什么软件可以免费群发短信?armv5tearmv7 processor 1.5GHz八核是什么CPU?
百度域名 日本vps 免费域名跳转 3322动态域名 星星海 vmsnap3 免费网络电视 魔兽世界台湾服务器 福建天翼加速 40g硬盘 web服务器的架设 天翼云盘 t云 搜索引擎提交入口 新加坡空间 阿里云邮箱登陆地址 学生服务器 杭州电信宽带 万网服务器 腾讯云平台 更多