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

hypervmart:英国/荷兰vps,2核/3GB内存/25GB NVMe空间/不限流量/1Gbps端口/Hyper-V,$10.97/季

hypervmart怎么样?hypervmart是一家国外主机商,成立于2011年,提供虚拟主机、VPS等,vps基于Hyper-V 2012 R2,宣称不超售,支持linux和windows,有荷兰和英国2个数据中心,特色是1Gbps带宽、不限流量。现在配置提高,价格不变,性价比提高了很多。(数据中心不太清楚,按以前的记录,应该是欧洲),支持Paypal付款。点击进入:hypervmart官方网...

spinservers($179/月),1Gbps不限流量服务器,双E5-2630Lv3/64GB/1.6T SSD/圣何塞机房

中秋节快到了,spinservers针对中国用户准备了几款圣何塞机房特别独立服务器,大家知道这家服务器都是高配,这次推出的机器除了配置高以外,默认1Gbps不限制流量,解除了常规机器10TB/月的流量限制,价格每月179美元起,机器自动化上架,一般30分钟内,有基本自助管理功能,带IPMI,支持安装Windows或者Linux操作系统。配置一 $179/月CPU:Dual Intel Xeon E...

2021年全新Vultr VPS主机开通云服务器和选择机房教程(附IP不通问题)

昨天有分享到"2021年Vultr新用户福利注册账户赠送50美元"文章,居然还有网友曾经没有注册过他家的账户,薅过他们家的羊毛。通过一阵折腾居然能注册到账户,但是对于如何开通云服务器稍微有点不对劲,对于新人来说确实有点疑惑。因为Vultr采用的是预付费充值方式,会在每月的一号扣费,当然我们账户需要存留余额或者我们采用自动扣费支付模式。把笔记中以前的文章推送给网友查看,他居然告诉我界面不同,看的不对...

transactionscope为你推荐
orderbydescSQL里面的order by语句是干什么用的?水晶易表水晶狼牙套怎么使用 有什么特点chrome系统Chrome操作系统是什么样的系统?oa办公系统下载OA在哪里下载?oa办公系统下载完全免费的oa办公系统vga接口定义主板上的VGA接口有什么用?搜索引擎的概念搜索引擎营销的概念是什么?审计平台什么是审计工具网络电话免费版有没有免费的网络电话?纯免费的红牛下架红牛下架事件怎么回事?美宜佳最近怎么买不到红牛了?
虚拟主机试用30天 游戏服务器租用 深圳主机租用 132邮箱 php探针 免费smtp服务器 me空间社区 免费防火墙 100m独享 vip域名 多线空间 申请网站 空间首页登陆 域名与空间 免费外链相册 lamp的音标 稳定空间 北京主机托管 免费赚q币 alexa世界排名 更多