我想在同一个连接上创建2个HTTP请求(HTTP持久连接)。
我正在使用HttpWebRequest:
WebRequest request = HttpWebRequest.Create("http://localhost:14890/Service1/3");
WebResponse response = request.GetResponse();
byte[] buffer = new byte[1024];
int x = response.GetResponseStream().Read(buffer, 0, 1024);
string str = System.Text.ASCIIEncoding.ASCII.GetString(buffer);
我认为如果再次使用request
,它将创建一个我不想做的全新HTTP连接。
我可以使用另一个课程吗?或者是否有我遗失的东西?
我也不确定WebClient类如何处理持久连接。
答案 0 :(得分:1)
例如:
string str;
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://localhost:14890/Service1/3");
request.KeepAlive = true;
using (WebResponse response = request.GetResponse())
using (Stream responseStream = response.GetResponseStream())
using (StreamReader reader = new StreamReader(responseStream, Encoding.ASCII)) {
str = reader.ReadToEnd();
}
答案 1 :(得分:1)
如果你想将你的服务器会话从一个httprequest保持到下一个,你已经明确地存储并发送你的会话标识符,这与msinet.ocx不同,后者为你完成了所有这些。例如,当连接到php webserver时,会话标识符存储在标记为Set-Cookie / PHPSESSID = ...的标题中,并且必须手动将标头添加到下一个httprequest,但重命名为Cookie / PHPSESSID = ...