WebRequest.GetResponse()何时将连接设置为;“保持活力”;c#

WebRequest.GetResponse()何时将连接设置为;“保持活力”;c#,c#,http,httpwebrequest,C#,Http,Httpwebrequest,我有以下功能 private byte[] Function(string url) { HttpWebRequest webRequest= (HttpWebRequest)WebRequest.Create(url); webRequest.AddRange(0, 200); webRequest.Method = "GET"; webRequest.KeepAlive = true; byte[] buffer = new byte[200];

我有以下功能

private byte[] Function(string url)
{
    HttpWebRequest webRequest= (HttpWebRequest)WebRequest.Create(url);
    webRequest.AddRange(0, 200);
    webRequest.Method = "GET";
    webRequest.KeepAlive = true;

    byte[] buffer = new byte[200];
    using (var webResponse =  webRequest.GetResponse())
    using (Stream webResponseStreem = webResponse.GetResponseStream())
    {
        webResponseStreem.Read(buffer, 0, 200);
    }

    return buffer;
}

我从应用程序的不同部分调用它。有时我得到的结果不是我所期望的。我注意到,有时调用
webRequest.GetResponse()
会将
webRequest.Connection
设置为
保持活动状态“
,有时则不会。它取决于什么?

我不知道是什么控制是否发送此标头,但根据:

使用HTTP/1.1时,“保持活动”处于启用状态 默认情况下。将KeepAlive设置为false 可能导致发送连接: 关闭服务器的标题

因此,如果您使用的是HTTP/1.1,那么无论是否发送头都不重要。如果没有
连接:close
头,服务器应假定为持续连接