HttpClient 和连接:关闭 HttpRequestHeaders

HttpClient and Connection: close HttpRequestHeaders

我正在为 HttpClient 制作一个静态包装器,该对象标识符是 'Client'。代码如下。当我添加到选项 class 时,我遇到了 ConnectionClose 并且我正在考虑使其可配置,因为我希望其他开发人员能够根据需要配置它。

但是我读到的关于 Connection: close 的所有信息都表明我希望它保持活动状态。这个值应该一直是假的吗?或者是否存在关闭值 true 的有效用例?

    protected void Setup(ApiCallerOptions options)
    {
        Client = CreateHttpClient();
        Options = options;
        ServicePointManager.FindServicePoint(new Uri(options.BaseAddress))
            .ConnectionLeaseTimeout = options.ConnectionLeaseTimeout;
        Client.BaseAddress = new Uri(options.BaseAddress);
        Client.DefaultRequestHeaders.Accept.Clear();
        Client.DefaultRequestHeaders.Accept.Add(options.ContentType);
        Client.DefaultRequestHeaders.ConnectionClose = false;
    }

RFC https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

14.10 Connection

可用于调试与保持活动的连接相关的问题,或者无论出于何种原因您根本不希望拥有持久连接。当显式设置为真正的 HttpClient 实例时,这些几乎是用例。

要回答你的问题,它应该是假的,否则性能会下降。