GetResponse和GetRequestStream silverlight

时间:2012-07-24 07:18:22

标签: c# asp.net silverlight web-services rest

出于某种原因,我无法在silverlight中使用GetRequestStreamGetResponse出现下划线: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();

有没有人有解决方法?

1 个答案:

答案 0 :(得分:0)

Silverlight仅支持异步网络访问。 Silverlight中没有同步GetRequestStreamGetResponse方法。您需要使用异步方法BeginGetRequestStream / EndGetRequestStreamBeginGetResponse / EndGetResponse

更重要的是,您需要快速掌握如何异步处理的事情。例如,某些内容将调用您的上述代码,并期望在完成后,某些更改将会更加快乐。在不正确的异步世界中,代码将快速返回,稍后会发生一些事情。