Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
 private static Task <RpcResult <object> > DrillDownResponseObj(object retVal)
 {
     return(InternalHelper.DrillDownResponseObj(retVal));
 }