Как использовать расположение заголовка ответа со статическим HTTPClient в C # - PullRequest
0 голосов
/ 27 августа 2018

Приведенный ниже код работает нормально для меня, и я использую этот httpclient для отправки запросов на конечные точки. В заголовке ответа я получаю URI местоположения для последующего вызова. Я хочу использовать тот же httpclient, так как базовый URI все еще остается в URI местоположения (отличается только ресурс). Как я справлюсь с этим, чтобы воспользоваться преимуществом httpclient как статический экземпляр.

 private static HttpClient client;
    private static object syncLock = new object();
    public static HttpClient GetHttpClient(IApiConfiguration apiConfiguration)
    {
        if (client == null)
        {
            lock (syncLock)
            {
                if (client == null)
                {
                    client = new HttpClient();

                    client.DefaultRequestHeaders.ConnectionClose = false;
                    client.Timeout = TimeSpan.FromMilliseconds(apiConfiguration.Timeout);

                    client.BaseAddress = new Uri(apiConfiguration.BaseUri);

                    client.DefaultRequestHeaders.Accept.Add(
                        new MediaTypeWithQualityHeaderValue("application/json"));
                   ServicePointManager.FindServicePoint(client.BaseAddress).ConnectionLeaseTimeout = apiConfiguration.ConnectionLeaseTimeoutinMilliSec;
                }
            }
        }
        return client;
    }
...