远端服务器xml同步手机xml

/ 0评 / 0
private void ProcessHttp()
{
 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri("http://www.dft.so/wp7"));
 request.BeginGetResponse(WebResponseCallback, request);
}

处理结果在WebResponseCallback回调中,最终将保存到IAsyncResul对象中,HttpWebRequest比较特殊已经建立了线程在处理时,所以即使网络不流畅也不会导致UI卡死。

private void WebResponseCallback(IAsyncResult result)
{
 try
 {

  HttpWebRequest request = (HttpWebRequest)(result.AsyncState);

  StreamReader sr = new StreamReader(request.EndGetResponse(result).GetResponseStream());
  string data = sr.ReadToEnd(); //将Stream转为String
  data = data.Substring(0, 1024); //只获取前1024个字符。
  Dispatcher.BeginInvoke(() =>         //传给主线程结果
  {
   MessageBox.Show(data);
  });
 }
 catch
 {
  Dispatcher.BeginInvoke(() =>         //传给主线程结果
  {
   MessageBox.Show("获取失败");
  });
 }
}

发表评论

邮箱地址不会被公开。 必填项已用*标注