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(); } } } }
public void PostProcess(Microsoft.Practices.Unity.InterceptionExtension.IMethodInvocation input, Microsoft.Practices.Unity.InterceptionExtension.IMethodReturn result) { //throw new NotImplementedException(); }
public UnityMethodReturn(Microsoft.Practices.Unity.InterceptionExtension.IMethodReturn @return) { _return = @return; }
public UnitMethodReturnParameter(IMethodReturn @return, int parameterIndex) { _return = @return; _parameterIndex = parameterIndex; }
/// <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); }