Как видно из заголовка, я бы хотел отключить функцию конвейерной обработки, НО по-прежнему использовать пул соединений (поэтому KeepAlive = False не вариант). Причина в том, что более длинные запросы могут помешать более коротким запросам выполняться быстро, но открытие нового соединения для каждого запроса значительно медленнее.
Я делаю это:
_webRequestHandler = new WebRequestHandler();
_webRequestHandler.AllowPipelining = false;
_httpClient = new HttpClient(_webRequestHandler);
await _httpClient.SendAsync(request);
servicePoint = ServicePointManager.FindServicePoint(request.RequestUri);
Это, похоже, не имеет никакого эффекта: свойство ServicePoint.SupportsPipelining все еще имеет значение true, а WebRequestHandler только устанавливает свойство Pipelined для HttpWebRequest, но ничего в HttpRequestMessage, поэтому в основном установка AllowPipelining в WebRequestHandler не имеет никакого эффекта (?).
Я что-то здесь упускаю? Я уверен, что это распространенный сценарий - как мне этого добиться?