Beispiel #1
0
        private static void ProcessDb(ServiceInfo parameter, ProcessFun fun, DbType dbType, bool inTransaction = false)
        {
            int milliStart = Begin(parameter.UserInfo, parameter.CurrentMethod);

            ProcessDbHelp(parameter, fun, dbType, inTransaction);

            End(parameter.UserInfo, milliStart, parameter.CurrentMethod);
        }
Beispiel #2
0
        private static void ProcessDbHelp(ServiceInfo serviceInfo, ProcessFun processFun, DbType dbType, bool inTransaction)
        {
            // 2016-02-14 吉日嘎拉 增加耗时记录功能
            Stopwatch stopwatch = new Stopwatch();

            stopwatch.Start();

            using (IDbHelper dbHelper = DbHelperFactory.GetHelper(GetDbType(dbType), GetDbConnection(dbType)))
            {
                try
                {
                    // dbHelper.Open(GetDbConnection(dbType));
                    if (inTransaction)
                    {
                        // dbHelper.BeginTransaction();
                    }
                    processFun(dbHelper);
                    stopwatch.Stop();
                    serviceInfo.ElapsedTicks = stopwatch.ElapsedTicks;
                    AddLog(serviceInfo);
                    if (inTransaction)
                    {
                        // dbHelper.CommitTransaction();
                    }
                }
                catch (Exception ex)
                {
                    if (inTransaction)
                    {
                        // dbHelper.RollbackTransaction();
                    }
                    BaseExceptionManager.LogException(dbHelper, serviceInfo.UserInfo, ex);
                    throw;
                }
                finally
                {
                    // dbHelper.Close();
                }
            }
        }
Beispiel #3
0
 public static void ProcessUserCenterWriteDbWithTransaction(BaseUserInfo userInfo, ServiceInfo parameter, ProcessFun fun)
 {
     if (BaseSystemInfo.IsAuthorized(userInfo))
     {
         ProcessDb(parameter, fun, DbType.UserCenterWrite, true);
     }
 }
Beispiel #4
0
 public static void ProcessUserCenterWriteDbWithLock(BaseUserInfo userInfo, ServiceInfo parameter, object locker, ProcessFun fun)
 {
     if (BaseSystemInfo.IsAuthorized(userInfo))
     {
         int milliStart = Begin(parameter.UserInfo, parameter.CurrentMethod);
         lock (locker)
         {
             ProcessDbHelp(parameter, fun, DbType.UserCenterWrite, false);
         }
         End(parameter.UserInfo, milliStart, parameter.CurrentMethod);
     }
 }
Beispiel #5
0
 public static void ProcessUserCenterDb(BaseUserInfo userInfo, ServiceInfo parameter, ProcessFun fun)
 {
     if (BaseSystemInfo.IsAuthorized(userInfo))
     {
         ProcessDb(parameter, fun, DbType.UserCenter);
     }
 }