public ServiceDescription SelectService(ServiceDefinintion queringServices, IEnumerable <ServiceDescription> avalibleServices) { var queringServiceVersion = new Version(queringServices.Version); return(avalibleServices.Where(w => w.ServiceDefinition != null && queringServices.ServicName == w.ServiceDefinition.ServicName && new Version(w.ServiceDefinition.Version).Major == queringServiceVersion.Major) .OrderByDescending(q => new Version(q.ServiceDefinition.Version)).FirstOrDefault()); }
public ServiceDescription Service([FromBody] ServiceDefinintion serviceDefinition) { var services = _serviceDiscovery.GetService(serviceDefinition); var matchService = _routingService.SelectService(serviceDefinition, services); return(matchService); }
public IList <ServiceDescription> GetService(ServiceDefinintion serviceDefinition) { using (var consul = new ConsulClient(t => { t.Address = new Uri("http://172.17.0.2:8500"); })) { var services = consul.Agent.Services().Result.Response; return(services.Select(ToServiceDescription).ToList()); }; }