예제 #1
0
        public static async Task <bool> DeregisterService(string consulAgentUrl, string serviceId)
        {
            bool         statusCode;
            ConsulClient consulClient = new ConsulClient((ConsulClientConfiguration config) => config.Address = new Uri(consulAgentUrl));

            try
            {
                IAgentEndpoint    agent             = consulClient.Agent;
                string            str               = serviceId;
                CancellationToken cancellationToken = new CancellationToken();
                ConfiguredTaskAwaitable <WriteResult> configuredTaskAwaitable = agent.ServiceDeregister(str, cancellationToken).ConfigureAwait(false);
                statusCode = await configuredTaskAwaitable.StatusCode == HttpStatusCode.OK;
            }
            finally
            {
                if (consulClient != null)
                {
                    ((IDisposable)consulClient).Dispose();
                }
            }
            return(statusCode);
        }