暑假
做wp7开发的过程中遇到了通信问题,尝试了很多方法来实现同步通信,比如线程之类的,但是始终是控制不住,没办法,只能是利用异步的方法来实现通信,代码奉上: HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); //url就是你要请求的网址 request.ContentType = "application/x-www-form-urlencoded;charset=utf-8"; request.Method = "POST"; request.BeginGetResponse(new AsyncCallback(GetResponseCallback), request); private void GetRequestStreamCallback(IAsyncResult asynchronousResult) { HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState; Stream postStream = request.EndGetRequestStream(asynchronousResult); byte[] byteArray = CommonHelper.postData; postStream.Write(byteArray, 0, CommonHelper.postData.Length); postStream.Close(); request.BeginGetResponse(new AsyncCallback(GetResponseCallback), request); } //收索的回调 private void GetResponseCallback(IAsyncResult asynchronousResult) { HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState; HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult); Stream streamResponse = response.GetResponseStream(); StreamReader streamRead = new StreamReader(streamResponse); string responseString = streamRead.ReadToEnd(); //responsestring就是返回给你的数据 streamResponse.Close(); streamRead.Close(); response.Close(); Dispatcher.BeginInvoke( () => { 在这里面写一些对界面进行更改的操作 }); } 个人博客:http://blog.amtemai.com |