• 事务记账


      /// <summary>
            /// 全局锁
            /// </summary>
            public static Object SyncObject = new object();

    var syncObject = isTrans ? Util.SyncObject : new Object();

                lock (syncObject)
                {

    var transactionOption = new TransactionOptions { IsolationLevel = IsolationLevel.Serializable, Timeout = TimeSpan.FromMilliseconds(10 * 60 * 1000) };
                      int i = 0;
                    string errmessage = "";
                    Exception exception = new Exception();
                    do
                    {
                        errmessage = "";
                        if (i++ > 3)
                            break;
                    using (var scope = isTrans ? new TransactionScope(TransactionScopeOption.Required, transactionOption) : null)
                    {

                         try
                            {
                    
                        #endregion

                        if (isTrans)
                        {
                            scope.Complete();
                        }

    }

        catch (Exception err)
                            {
                                scope.Dispose();
                                errmessage = err.Message;
                                exception = err;
                                //throw new Exception(ex.Message.ToString());
                            }
                        }
                    } while (errmessage.Contains("死锁牺牲品"));
                    if (!string.IsNullOrEmpty(errmessage))
                    {
                        throw (new Exception(errmessage, exception));
                    }

                      }
                    }

  • 相关阅读:
    170516、ActiveMQ 的安装与使用(单节点)
    170515、mybatis批量操作
    170512、java日志文件log4j.properties配置详解
    170511、Spring IOC和AOP 原理彻底搞懂
    170510、数据库默认隔离级别
    170509、文本编辑器编写的shell脚本在linux下无法执行的解决方法
    170508、忘记jenkins密码或者修改jenkins密码
    170505、MySQL的or/in/union与索引优化
    170504、MongoDB和MySQL对比(译)
    Jenkins Android 打包
  • 原文地址:https://www.cnblogs.com/sk2016/p/6122605.html
Copyright © 2020-2023  润新知