2
如何使用相同的服务发出多个请求?一个连接多个请求Rest服务
我创建了一个静态的HttpWebRequest:
private static HttpWebRequest request;
//private static StreamReader streamReader;
//private StreamWriter streamWriter;
public CentralRestService2(LogFile log)
{
if (request == null)
{
request = (HttpWebRequest)WebRequest.Create("service address");
request.Method = "POST";
request.Accept = "*/*";
request.ContentType = "application/json";
request.Headers["Authorization"] = "username and password";
request.KeepAlive = true;
}
using (var streamWriter = new StreamWriter(request.GetRequestStream()))
{
string body = new JavaScriptSerializer().Serialize(emailRequest);
streamWriter.Write(body);
}
using (var streamReader = new StreamReader(response.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
}
response.Close();
}
我得到错误信息包括流不能被写入。连接意外关闭。我似乎无法在任何地方找到答案!
处置使用蒸汽,尝试没有使用,只是手动关闭它们完成时。 – Jacobr365
@ Jacobr365,不确定在这种情况下会起作用。请求流应该是只前向/只写流,就像响应流是只前向/只读流一样。只适用于一种用途。 REST的整个概念是一个请求/响应对完全独立和独立。 – Kevin
有没有办法对所有请求使用一个打开的连接?我也试过雅各布 - 它也不行 - 它创建了连接关闭的消息。 – markthewizard1234