public string GetProcedureUri(MethodInfo method) { if (!mMethodToProcedureUri.TryGetValue(method, out string result)) { result = mUnderlying.GetProcedureUri(method); mMethodToProcedureUri[method] = result; } return(result); }
protected override IWampCancellableInvocationProxy Invoke(ICalleeProxyInterceptor interceptor, IWampRawRpcOperationClientCallback callback, MethodInfo method, object[] arguments) { CallOptions callOptions = interceptor.GetCallOptions(method); var procedureUri = interceptor.GetProcedureUri(method); return(mCatalogProxy.Invoke(callback, callOptions, procedureUri, arguments)); }
private SyncCallback <T> InnerInvokeSync <T>(ICalleeProxyInterceptor interceptor, MethodInfo method, IOperationResultExtractor <T> extractor, object[] arguments, Type unwrapped) { MethodInfoHelper methodInfoHelper = new MethodInfoHelper(method); string procedureUri = interceptor.GetProcedureUri(method); SyncCallback <T> syncCallback = new SyncCallback <T>(procedureUri, methodInfoHelper, arguments, extractor); object[] argumentsToSend = methodInfoHelper.GetInputArguments(arguments); Invoke(interceptor, syncCallback, method, argumentsToSend); return(syncCallback); }