コード例 #1
0
        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());
        }
コード例 #2
0
        public ServiceDescription Service([FromBody] ServiceDefinintion serviceDefinition)
        {
            var services = _serviceDiscovery.GetService(serviceDefinition);

            var matchService = _routingService.SelectService(serviceDefinition, services);

            return(matchService);
        }
コード例 #3
0
 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());
     };
 }