WebRequest.GetResponse() 何时将连接设置为“Keep-Alive”?时间:2019-03-17 标签:c#
我有以下函数
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
设置为 “Keep-Alive”
,有时则不然。它取决于什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不知道什么控制是否应发送此标头,但根据 文档:
因此,如果您使用的是 HTTP/1.1,则是否发送标头并不重要。如果没有
Connection: close
标头,服务器应假定持久连接。I don't know what controls whether this header should be sent or not, but according to the documentation:
So if you are using HTTP/1.1 it shouldn't matter whether the header is sent or not. If there is no
Connection: close
header the server should assume a persistent connection.