Ejemplo n.º 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ConsulDiscoveryClient"/> class.
        /// </summary>
        /// <param name="client">a Consul client</param>
        /// <param name="options">the configuration options</param>
        /// <param name="registrar">a Consul registrar service</param>
        /// <param name="logger">optional logger</param>
        public ConsulDiscoveryClient(IConsulClient client, ConsulDiscoveryOptions options, IConsulServiceRegistrar registrar = null, ILogger <ConsulDiscoveryClient> logger = null)
        {
            _client    = client ?? throw new ArgumentNullException(nameof(client));
            _options   = options ?? throw new ArgumentNullException(nameof(options));
            _logger    = logger;
            _registrar = registrar;

            if (_registrar != null)
            {
                _registrar.Start();
                _thisServiceInstance = new ThisServiceInstance(_registrar.Registration);
            }
        }