protected override object Invoke(MethodInfo targetMethod, object[] args) { object retval = null; args = _aspect.OnEnter(targetMethod, args); try { retval = targetMethod.Invoke(_service, args); } catch (TargetInvocationException ex) { _aspect.OnException(targetMethod, ex.InnerException); throw (ex.InnerException); } retval = _aspect.OnExit(targetMethod, args, retval); return(retval); }
public override object OnExit(MethodInfo mi, object[] args, object retval) { return(handler.OnExit(mi, args, retval)); }