transactionscope mysql_TransactionScope事务操作

transactionscope mysql_TransactionScope事务操作using(TransactionScopetrans=newTransactionScope()){try{InsertUserBase();//它插入不成功,自己回滚UserInfosuserInfo=newUserInfos{UserID=”1″,RealName=”zzl”,};db.UserInfos.InsertOnSubmit(userInfo);db.SubmitC…

大家好,又见面了,我是你们的朋友全栈君。

using (TransactionScope trans = newTransactionScope())

{try{

InsertUserBase();//它插入不成功,自己回滚

UserInfos userInfo= newUserInfos

{

UserID= “1”,

RealName= “zzl”,

};

db.UserInfos.InsertOnSubmit(userInfo);

db.SubmitChanges();

trans.Complete();

}catch(Exception)

{//throw;

}finally{

trans.Dispose();

}

}#endregion

static boolInsertUserBase()

{boolflag;try{

UserBases userbase= newUserBases

{

UserID= “0005”,

Name= “zzl”,

CreateDate=DateTime.Now,

UpdateDate=DateTime.Now,

};

db.UserBases.InsertOnSubmit(userbase);

db.SubmitChanges();

flag= true;

}catch(Exception)

{throw;

}returnflag;

}

InsertUserBase()只要出现异常,程序将自己回滚

using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, newTransactionOptions

{

IsolationLevel=System.Transactions.IsolationLevel.ReadCommitted,

Timeout= new TimeSpan(0, 10, 0)

}, TransactionScopeAsyncFlowOption.Enabled))

one or more errors occurred(The current TransactionScope is already complete)

如果你正在使用TransactionScope和async/await在一起,你真的应该升级到4.5.1 .NET马上。

一个TransactionScope包装异步代码需要指定TransactionScopeAsyncFlowOption.Enabled在其构造。

TransactionOptions option = new TransactionOptions() { Timeout = new TimeSpan(0, 10, 0), IsolationLevel = IsolationLevel.ReadCommitted };

using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, option, TransactionScopeAsyncFlowOption.Enabled))

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161929.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • javascript二叉树基本功能实现

    javascript二叉树基本功能实现

    2021年9月17日
    45
  • 使用ROW_NUMBER()查询:列名 ‘RowNumber’ 无效。(转载)

    使用ROW_NUMBER()查询:列名 ‘RowNumber’ 无效。(转载)原文地址:https://my.oschina.net/wangzan/blog/202456使用ROW_NUMBER()方法查询结果集;语句如下: selectROW_NUMBER()OVER(ORDERBYdbo.OrderOutProduct.ID)ASRowNumber,dbo.Order.ID,Telephone,AddressCity,Province,fromdbo…

    2022年6月7日
    62
  • 哈希和一致性哈希算法

    哈希和一致性哈希算法哈希Hash算法介绍哈希算法也叫散列算法,不过英文单词都是Hash,简单一句话概括,就是可以把任意长度的输入信息通过算法变换成固定长度的输出信息,输出信息也就是哈希值,通常哈希值的格式是16进制或者是10进制,比如下面的使用md5哈希算法的示例md5(“123456”)=>”e10adc3949ba59abbe56e057f20f883e”主要特点:•不可逆从哈希值不能推导出原始数据,所以Hash算法广泛应用在现代密码体系中•无碰撞不同的信息进行哈希后

    2022年7月27日
    7
  • kafka多个分区一个消费_kafka集群节点挂掉

    kafka多个分区一个消费_kafka集群节点挂掉之前的csdn找不回来了,决定重新注册一个。望支持~~~为了解决多台服务,共同消费kafka消息,目前采用的是随机partition。画了个简图:/***@ClassName:RiskPartitioner*@authorDHing**/publicclassRiskPartitionerimpleme…

    2022年10月8日
    3
  • veriloghdl与vhdl_verilog基本语法

    veriloghdl与vhdl_verilog基本语法 硬件描述语言HDL(HardwareDescribeLanguage)     HDL概述     随着EDA技术的发展,使用硬件语言设计PLD/FPGA成为一种趋势。目前最主要的硬件描述语言是VHDL和VerilogHDL。VHDL发展的显纾锓ㄑ细瘢鳹erilogHDL是在C语言的基础上发展起来的一种硬件描述语言,语法较自由。VHDL和VerilogHDL两者相比

    2022年9月21日
    5
  • incorrect integer value for column 问题解决

    incorrect integer value for column 问题解决

    2021年11月4日
    67

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号