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 传输网络

VoLLcloud:超便宜香港CMI大带宽vps-三网CMI直连-年付四免服务-低至4刀/月-奈飞

vollcloud LLC创立于2020年,是一家以互联网基础业务服务为主的 技术型企业,运营全球数据中心业务。致力于全球服务器租用、托管及云计算、DDOS安 全防护、数据实时存储、 高防服务器加速、域名、智能高防服务器、网络安全服务解决方案等领域的智 能化、规范化的体验服务。所有购买年付产品免费更换香港原生IP(支持解锁奈飞),商家承诺,支持3天内无条件退款(原路退回)!点击进入:vollclo...

乐凝网络支持24小时无理由退款,香港HKBN/美国CERA云服务器,低至9.88元/月起

乐凝网络怎么样?乐凝网络是一家新兴的云服务器商家,目前主要提供香港CN2 GIA、美国CUVIP、美国CERA、日本东京CN2等云服务器及云挂机宝等服务。乐凝网络提供比同行更多的售后服务,让您在使用过程中更加省心,使用零云服务器,可免费享受超过50项运维服务,1分钟内极速响应,平均20分钟内解决运维问题,助您无忧上云。目前,香港HKBN/美国cera云服务器,低至9.88元/月起,支持24小时无理...

Friendhosting 黑色星期五 VDS/VPS可享四五折优惠促销

Friendhosting商家在前面的篇幅中也又陆续介绍到,是一家保加利亚主机商,主要提供销售VPS和独立服务器出租业务,数据中心分布在:荷兰、保加利亚、立陶宛、捷克、乌克兰和美国洛杉矶等。这不近期黑色星期五活动,商家也有推出了黑五优惠,VPS全场一次性45折,虚拟主机4折,全球多机房可选,老用户续费可获9折加送1个月使用时长,VDS折后最低仅€14.53/年,有需要的可以看看。Friendhos...

transactionscope为你推荐
联机侠解说:教大家怎么在我的世界联机换皮肤病历单病例单都有哪些内容?cpu监控CPU检测软件有哪些 5款CPU检测工具介绍 (orphanremovalorphan是什么意思vga接口定义vga线有几种seo优化技术什么是SEO优化,seo优化有什么用?移动硬盘文件或目录损坏且无法读取移动硬盘文件或目录损坏且无法读取怎么办??微信网页版怎么看朋友圈电脑版微信怎么看朋友圈和发朋友圈网络备份怎样手动备份宽带帐号密码微粒群算法粒子群算法优化下面的公式 要怎么做 能给个程序最好
vps动态ip 中国域名网 过期域名抢注 10t等于多少g xfce qq对话框 能外链的相册 四核服务器 域名与空间 主机返佣 七牛云存储 杭州电信宽带 网站防护 privatetracker 美国主机侦探 restart web是什么意思 gotoassist vim 冰盾ddos防火墙 更多