出于某种原因,我无法在silverlight中使用GetRequestStream
或GetResponse
出现下划线:S不确定要使用什么?我正在尝试连接到我的网络服务,这是我收到错误的地方,
string uri = "http://localhost:8002/Service/Customer";
StringBuilder sb = new StringBuilder();
sb.Append("<Customer>");
sb.AppendLine("<FirstName>" + this.textBox1.Text + "</FirstName>");
sb.AppendLine("<LastName>" + this.textBox2.Text + "</LastName>");
sb.AppendLine("</Customer>");
string NewCustomer = sb.ToString();
byte[] arr = Encoding.UTF8.GetBytes(NewCustomer );
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri);
req.Method = "POST";
req.ContentType = "application/xml";
req.ContentLength = arr.Length;
Stream reqStrm = req.GetRequestStream();// error here GetRequestStream
reqStrm.Write(arr, 0, arr.Length);
reqStrm.Close();
HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); //error here GetRequestStream
MessageBox.Show("Staff Creation: Status " + resp.StatusDescription);
reqStrm.Close();
resp.Close();
有没有人有解决方法?
答案 0 :(得分:0)
Silverlight仅支持异步网络访问。 Silverlight中没有同步GetRequestStream
和GetResponse
方法。您需要使用异步方法BeginGetRequestStream
/ EndGetRequestStream
和BeginGetResponse
/ EndGetResponse
。
更重要的是,您需要快速掌握如何异步处理的事情。例如,某些内容将调用您的上述代码,并期望在完成后,某些更改将会更加快乐。在不正确的异步世界中,代码将快速返回,稍后会发生一些事情。