/// <summary> /// 解析Consul配置 /// </summary> /// <param name="serviceElement"></param> /// <returns></returns> private static IEndpointStrategy ResolveStickyConfiguration(Client.GrpcServiceElement serviceElement, string address) { var serviceName = serviceElement.Name; // consul var stickyEndpointDiscovery = new StickyEndpointDiscovery(serviceName, address); StickyEndpointStrategy.Instance.AddServiceDiscovery(stickyEndpointDiscovery); return(StickyEndpointStrategy.Instance); }
/// <summary> /// 解析Endpoint配置 /// </summary> /// <param name="service"></param> /// <returns></returns> private static IEndpointStrategy ResolveEndpointConfiguration(Client.GrpcServiceElement service, GrpcClientOptions options) { var discovery = service.Discovery; List <Tuple <string, int> > ipEndPoints = null; #if !ASP_NET_CORE ipEndPoints = discovery.EndPoints.ToList(); #else ipEndPoints = discovery.EndPoints.Select(oo => Tuple.Create(oo.Host, oo.Port)).ToList(); #endif var iPEndpointDiscovery = new IPEndpointDiscovery(options, ipEndPoints); EndpointStrategy.Instance.AddServiceDiscovery(iPEndpointDiscovery); return(EndpointStrategy.Instance); }