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); }
public ConsulServiceDiscovery(HubeeServiceDiscoveryConfig config) { Config = config; }