public IServiceDiscovery GetByConfig(HubeeServiceDiscoveryConfig config)
 {
     return(config.ServiceDiscoveryType switch
     {
         ServiceDiscoveryType.Consul => new ConsulServiceDiscovery(config),
         _ => throw new ServiceDiscoveryNotSupportedException(config.ServiceDiscovery)
     });
        public HubeeServiceDiscoveryConfig GetConfig(string nameSetting, string path = "")
        {
            var configuration          = GetConfiguration(nameSetting, path);
            var configServiceDiscovery = new HubeeServiceDiscoveryConfig();

            configuration.GetSection("HubeeServiceDiscoveryConfig").Bind(configServiceDiscovery);

            return(configServiceDiscovery);
        }
        public static IServiceCollection AddServiceDiscovery(this IServiceCollection services, IConfiguration configuration)
        {
            var config = new HubeeServiceDiscoveryConfig();

            configuration.GetSection("HubeeServiceDiscoveryConfig").Bind(config);

            config.CheckConfig();

            var serviceDiscovery = _configurationFactory.GetByConfig(config);

            serviceDiscovery.Register(services, configuration);

            return(services);
        }
示例#4
0
 public ConsulServiceDiscovery(HubeeServiceDiscoveryConfig config)
 {
     Config = config;
 }