TransactionScope 分布式事务

  /// 发送消息
        
///</summary>
       
///<param name="sendUserId"></param>
       
///<param name="toUser">格式7FFA3AF2-E74B-4174-8403-5010C53E49A7|userName,7FFA3AF2-E74B-4174-8403-5010C53E49A7|userName</param>
       
///<param name="content"></param>
       
///<param name="sendedStatus">表示已送</param>
       
///<returns></returns>
        publicstaticint 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) {
                   
thrownew Exception("发送信息异常,原因:"+ex.Message);
                }finally{
                    //释放资源
                    scope.Dispose();
                  }
                              
            }

           
return receiveCount;
        }

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值