我正在尝试将XML发送到URL并读取响应,但响应每次都会回来。我认为这是因为它被异步处理,所以当我阅读响应时,接收代码没有机会完成。在Javascrpt我会用在代码后面执行同步xmlhttp请求
xmlhttp.Open("POST", url, false);
同步发送的请求。我怎样才能在C#中实现它?
我的代码是目前
HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create(url);
objRequest.Credentials = CredentialCache.DefaultCredentials;
objRequest.Method = "POST";
objRequest.ContentType = "text/xml";
Stream dataStream = objRequest.GetRequestStream();
byte[] bytes = new byte[UpliftJobXMLString.Length * sizeof(char)];
System.Buffer.BlockCopy(UpliftJobXMLString.ToCharArray(), 0, bytes, 0, bytes.Length);
dataStream.Write(bytes, 0, bytes.Length);
dataStream.Close();
HttpWebResponse response = (HttpWebResponse)objRequest.GetResponse();
System.IO.StreamReader sr = new System.IO.StreamReader(response.GetResponseStream());
string respString = System.Web.HttpUtility.HtmlDecode(sr.ReadToEnd()); //always empty
感谢
谢谢,这解释了很多。 Encoding.UTF8对它进行排序。 –