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

腾讯云2核4GB内存8M带宽 年74元

一般大厂都是通过首年才有可以享受爆款活动,然后吸引我们注册他们商家达到持续续费和购买的目的。一般只有大厂才能有这样的魄力和能力首年亏本,但是对于一般的公司和个人厂家确实难过,这几年确实看到不少的同类商家难以生存。这里我们可以看到有对应的套餐方案。不过这两个套餐都是100%CPU独享的,不是有某云商家限制CPU的。但是轻量服务器有个不好的就是带宽是较大且流量是限制的额,分别是1GB和1.2TB月流量...

knownhost西雅图/亚特兰大/阿姆斯特丹$5/月,2个IP1G内存/1核/20gSSD/1T流量

美国知名管理型主机公司,2006年运作至今,虚拟主机、VPS、云服务器、独立服务器等业务全部采用“managed”,也就是人工参与度高,很多事情都可以人工帮你处理,不过一直以来价格也贵。也不知道knownhost什么时候开始运作无管理型业务的,估计是为了扩展市场吧,反正是出来较长时间了。闲来无事,那就给大家介绍下“unmanaged VPS”,也就是无管理型VPS,低至5美元/月,基于KVM虚拟,...

宝塔面板企业版和专业版618年中活动 永久授权仅1888元+

我们一般的站长或者企业服务器配置WEB环境会用到免费版本的宝塔面板。但是如果我们需要较多的付费插件扩展,或者是有需要企业功能应用的,短期来说我们可能选择按件按月付费的比较好,但是如果我们长期使用的话,有些网友认为选择宝塔面板企业版或者专业版是比较划算的。这样在年中大促618的时候,我们也可以看到宝塔面板也有发布促销活动。企业版年付899元,专业版永久授权1888元起步。对于有需要的网友来说,还是值...

transactionscope为你推荐
企业资源管理系统企业资源计划(ERP) 急!!!virusscan已安全McAfee VirusScan 10.0 windows 还有安全报警vga接口定义电脑显示屏VGA是什么意思asp大马一句话木马中的大马和小马的作用各是什么?超级播放器那种电影网站就是那种不需要下载播放器可以直接看文本框透明word里文本框怎么透明?移动硬盘文件或目录损坏且无法读取急:移动硬盘无法访问,打开提示”文件或目录损坏且无法读取”中信银行理财宝中信银行理财宝可以长期存款吗?人脸识别解锁iphone人脸识别解锁网络备份如何自运远程备份
已备案域名出售 wdcp typecho 免费网络电视 小米数据库 新睿云 四川电信商城 shuang12 美国盐湖城 可外链的相册 稳定空间 umax 脚本大全 web是什么意思 ipower linuxvi byebyelove qq部落18-3 隐士ddos koss耳机 更多