public void PostProcess(Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation input, Microsoft.Practices.Unity.InterceptionExtension.IMethodReturn result)
        {
            List <AbstractDatabase> _RdbList = ((IbindDb)input.Target).GetMoreDb();
            AbstractDatabase        Rdb      = ((IbindDb)input.Target).GetDb();

            if (_RdbList == null)
            {
                if (result.Exception == null)
                {
                    Rdb.CommitTransaction();
                }
                else
                {
                    Rdb.RollbackTransaction();
                }
            }
            else
            {
                List <AbstractDatabase> RdbList = new List <AbstractDatabase>();
                foreach (AbstractDatabase db in _RdbList)
                {
                    RdbList.Add(db);
                }
                RdbList.Reverse();//反序

                if (result.Exception == null)
                {
                    foreach (AbstractDatabase db in RdbList)
                    {
                        db.CommitTransaction();
                    }
                }
                else
                {
                    foreach (AbstractDatabase db in RdbList)
                    {
                        db.RollbackTransaction();
                    }
                }
            }
        }
Exemplo n.º 2
0
 public void PostProcess(Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation input, Microsoft.Practices.Unity.InterceptionExtension.IMethodReturn result)
 {
     //throw new NotImplementedException();
 }
Exemplo n.º 3
0
 public UnityMethodReturn(Microsoft.Practices.Unity.InterceptionExtension.IMethodReturn @return)
 {
     _return = @return;
 }
 public UnitMethodReturnParameter(IMethodReturn @return, int parameterIndex)
 {
     _return         = @return;
     _parameterIndex = parameterIndex;
 }
Exemplo n.º 5
0
 /// <summary>
 /// 后处理
 /// </summary>
 /// <param name="input"></param>
 /// <param name="result"></param>
 public void PostProcess(Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation input, Microsoft.Practices.Unity.InterceptionExtension.IMethodReturn result)
 {
     LogHelper.EndTrace(trace);
 }