如标题所述,我希望禁用流水线功能,但仍然利用连接池(因此KeepAlive=False不是选择)。原因是较长的请求可能会阻止较短的请求快速执行,但为每个请求打开新连接显着更慢。 我正在这样做:
这似乎没有效果:ServicePoint.SupportsPipelining属性仍为true,而WebRequestHandler仅设置HttpWebRequest的Pipelined属性,但没有在HttpRequestMessage上进行任何设置,因此在WebRequestHandler上设置AllowPipelining没有效果(?)。
我是否漏掉了什么? 我确定这是一个常见情况 - 我该如何实现?
_webRequestHandler = new WebRequestHandler();
_webRequestHandler.AllowPipelining = false;
_httpClient = new HttpClient(_webRequestHandler);
await _httpClient.SendAsync(request);
servicePoint = ServicePointManager.FindServicePoint(request.RequestUri);
这似乎没有效果:ServicePoint.SupportsPipelining属性仍为true,而WebRequestHandler仅设置HttpWebRequest的Pipelined属性,但没有在HttpRequestMessage上进行任何设置,因此在WebRequestHandler上设置AllowPipelining没有效果(?)。
我是否漏掉了什么? 我确定这是一个常见情况 - 我该如何实现?