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;
        }

原文地址:https://www.cnblogs.com/fx2008/p/2882703.html