private Task <RpcResult <object> > InvokeInner(MethodInfo method, ISocketContext <AmpMessage> context, params object[] args) { var serviceNameArr = method.DeclaringType.Name.Split('`'); var methodFullName = $"{serviceNameArr[0]}.{method.Name}"; //TODO:这里可以做服务端拦截 using (var logger = this.AuditLoggerFactory.GetLogger(methodFullName)) { logger.SetParameter(args[0]); logger.SetContext(new RpcContext { LocalAddress = context.LocalEndPoint, RemoteAddress = context.RemoteEndPoint }); object retVal = method.Invoke(this, args); var result = InternalHelper.DrillDownResponseObj(retVal); logger.SetReturnValue(result); return(result); } }
private static Task <RpcResult <object> > DrillDownResponseObj(object retVal) { return(InternalHelper.DrillDownResponseObj(retVal)); }