zoukankan      html  css  js  c++  java
  • 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;
            }

  • 相关阅读:
    初探Object Pascal的类(一)
    初探Object Pascal的类(二)
    强制类型转换(Casting)
    初探Object Pascal的类(三)
    子界类型(Subrange types)
    浅析枚举类型(Enumerated types)
    指针(Pointer)
    浅谈WEBGIS运用栅格地图实现原理[更新:Google Maps带来的新型WebGIS设计模式]
    算我给Google本地和E都市做个广告吧
    Google地图的配色问题(以及MapBar和51ditu)
  • 原文地址:https://www.cnblogs.com/fx2008/p/2882703.html
Copyright © 2011-2022 走看看