我想发布到WCF服务。我收到此错误 “在调用[Begin] GetResponse之前,您必须将ContentLength字节写入请求流。”REST POST到WCF服务
代码:
ASCIIEncoding encoding = new ASCIIEncoding();
string postData = "patron=WTM";
byte[] data = encoding.GetBytes(postData);
var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://localhost:8733/FileShareWebServices/UploadFile");
httpWebRequest.ContentType = "application/json; charset=utf-8";
httpWebRequest.Method = "POST";
httpWebRequest.ContentLength = data.Length;
httpWebRequest.GetRequestStream();
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
}
我想你需要经过移动的GetResponse关闭流(在StreamReader的using语句之后移动它) – Sparrow
@Sparrow - 这将不起作用,很可能会导致OP代码无法编译。对'GetResponse'的调用用于在'using'块中创建'StreamReader'。 – Tim