public override async Task <object> InterceptAsync(MethodInfo methodInfo, object[] methodArguments)
        {
            var methodName       = methodInfo.Name;
            var genericArguments = methodInfo.GetGenericArguments();

            validator.ValidateInvocationOrThrow(methodName, genericArguments, methodArguments);

            var payload = await clusteringPhaseManager.InvokeServiceCall(serviceGuid, methodName, genericArguments, methodArguments);

            return(translator.TranslateOrThrow(payload, methodInfo, methodArguments));
        }
Esempio n. 2
0
        public async Task <object> InvokeServiceCall(Guid serviceGuid, string methodName, Type[] genericArguments, object[] methodArguments)
        {
            await phaseTransitionedLatch.WaitAsync();

            return(await clusteringPhaseManager.InvokeServiceCall(serviceGuid, methodName, genericArguments, methodArguments));
        }