示例#1
0
        /// <summary>
        /// 服务发现 根据服务名称进行查找
        /// </summary>
        /// <param name="serviceName"></param>
        /// <returns></returns>
        public async static Task <string> GetGrpcServiceConfig(string serviceType, string serviceName)
        {
            return(await Task.Run <string>(() =>
            {
                Channel channel = CreateChannel();

                var client = new ConfigDc.ProtoProxy.ConfigDcUtil.ConfigDcUtilClient(channel);
                var serverRes = client.GetGrpcServiceConfig(
                    new ProtoProxy.ServiceFindRequest
                {
                    ServiceType = serviceType,
                    ServiceName = serviceName
                }
                    );

                channel.ShutdownAsync();   //关闭长连接
                return serverRes.ServiceAddress;
            }));
        }