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("获取失败"); }); } }