/// <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; })); }