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

香港站群多ip服务器多少钱?零途云香港站群云服务器怎么样?

香港站群多ip服务器多少钱?想做好站群的SEO优化,最好给每个网站都分配一个独立IP,这样每个网站之间才不会受到影响。对做站群的站长来说,租用一家性价比高且提供多IP的香港多ip站群服务器很有必要。零途云推出的香港多ip站群云服务器多达256个IP,可以满足站群的优化需求,而且性价比非常高。那么,香港多ip站群云服务器价格多少钱一个月?选择什么样的香港多IP站群云服务器比较好呢?今天,小编带大家一...

LOCVPS-2021年6月香港便宜vps宽带升级,充值就送代金券,其它八折优惠!

LOCVPS怎么样?LOCVPS是一家成立于2011年的稳定老牌国人商家,目前提供中国香港、韩国、美国、日本、新加坡、德国、荷兰等区域VPS服务器,所有机房Ping延迟低,国内速度优秀,非常适合建站和远程办公,所有机房Ping延迟低,国内速度优秀,非常适合做站。XEN架构产品的特点是小带宽无限流量、不超售!KVM架构是目前比较流行的虚拟化技术,大带宽,生态发展比较全面!所有大家可以根据自己业务需求...

Spinservers:美国圣何塞机房少量补货/双E5/64GB DDR4/2TB SSD/10Gbps端口月流量10TB/$111/月

Chia矿机,Spinservers怎么样?Spinservers好不好,Spinservers大硬盘服务器。Spinservers刚刚在美国圣何塞机房补货120台独立服务器,CPU都是双E5系列,64-512GB DDR4内存,超大SSD或NVMe存储,数量有限,机器都是预部署好的,下单即可上架,无需人工干预,有需要的朋友抓紧下单哦。Spinservers是Majestic Hosting So...

transactionscope为你推荐
ostringstreamc++怎样把double转为stringmac地址克隆无线路由器mac地址克隆有什么用处?svn服务器搭建如何在本机搭建SVN服务器y码亚洲码男女尺码是多少?视频技术怎么做视频?网络审计网络审计和传统审计的范围有什么变化数据挖掘项目什么是数据挖掘?从事相关的工作有什么要求?数据统计分析表怎样建立数据透视表和数据分析表?超级播放器那种电影网站就是那种不需要下载播放器可以直接看文本框透明html怎么把这个文本框变为透明?
免费vps服务器 联通vps a5域名交易 美国主机推荐 天猫双十一秒杀 php免费空间 165邮箱 hostker cdn联盟 国外代理服务器地址 免费dns解析 香港新世界中心 超级服务器 宏讯 实惠 阿里云邮箱申请 server2008 神棍节 瓦工工具 ddos攻击 更多