Пример #1
0
        public ConsulServiceDiscovery(IOptions <ConsulServiceDiscoveryConfiguration> configuration)
        {
            _configuration = configuration.Value;

            _consul = new ConsulClient(config =>
            {
                config.Address = new Uri(_configuration.HttpEndpoint);
                if (!string.IsNullOrEmpty(_configuration.Datacenter))
                {
                    config.Datacenter = _configuration.Datacenter;
                }
            });
        }
Пример #2
0
        public static ServiceDiscoveryOptions UseConsul(this ServiceDiscoveryOptions options, Action <ConsulServiceDiscoveryConfiguration> configure)
        {
            if (configure == null)
            {
                throw new ArgumentNullException(nameof(configure));
            }

            var setting = new ConsulServiceDiscoveryConfiguration();

            configure.Invoke(setting);

            options.RegisterExtension(new ServiceDiscoveryConsulOptionsExtension(setting));

            return(options);
        }
Пример #3
0
        public static ServiceDiscoveryOptions UseConsul(this ServiceDiscoveryOptions options, IConfiguration configuration)
        {
            if (configuration == null)
            {
                throw new ArgumentNullException(nameof(configuration));
            }

            var setting = new ConsulServiceDiscoveryConfiguration();

            configuration.GetSection("ServiceDiscovery").GetSection("Consul").Bind(setting);

            options.RegisterExtension(new ServiceDiscoveryConsulOptionsExtension(setting));

            return(options);
        }
 public ServiceDiscoveryConsulOptionsExtension(ConsulServiceDiscoveryConfiguration options)
 {
     _options = options;
 }