コード例 #1
0
        internal static Response Call(string serviceKey, string methodKey, params object[] parameters)
        {
            var service = ConsulHelper.GetServer(serviceKey);
            var channel = new Channel(service.Address + ":" + service.Port, ChannelCredentials.Insecure);
            //System.Console.WriteLine(service.Address + ":" + service.Port);
            var client  = new ApolloService.ApolloServiceClient(channel);
            var request = new Request();

            request.ServiceName = methodKey;
            var jsonInput = "";

            foreach (var arg in parameters)
            {
                jsonInput += JsonConvert.SerializeObject(arg) + "兲";
            }
            request.Data = jsonInput;
            var response = client.Call(request);

            channel.ShutdownAsync().Wait();
            return(response);
        }