您的位置:首页 > 理论基础 > 计算机网络

WP7中HttpWebRequest的使用方法之GET方式

2013-06-10 14:09 661 查看
  在WP7中的HttpWebRequest与在C#中的使用方式大致是一样的,但是在WP7中微软移去了同步的操作方式,所有的操作方式都改为异步,(提升用户体验,在请求过程中界面保持流畅)。

下面给出两种编码方式 :其实都是一样的,只是第一种使用了独立方法的完成,(便于阅读和理解),第二种是直接用委托写在同一个方法里。

第一种:

private void button2_Click(object sender, RoutedEventArgs e)
{
string url = "http://www.cnblogs.com/xdpxyxy";

HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);

myRequest.Method = "GET";

//开始对服务器资源异步请求
myRequest.BeginGetResponse(new AsyncCallback(GetRqCallback), myRequest);
}

private void GetRqCallback(IAsyncResult asynchronousResult)
{
//获取开始异步请求的object对象
HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;

//结束请求
HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult);

//得到服务器返回资源
Stream streamResponse = response.GetResponseStream();

StreamReader streamRead = new StreamReader(streamResponse);

string responseString = streamRead.ReadToEnd();

streamResponse.Close();

streamRead.Close();

}


第二种:

HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(new Uri(getUrl));
httpWebRequest.Method = "GET";
httpWebRequest.BeginGetResponse((IAsyncResult responseCallback) =>
{
HttpWebRequest webRequest2 = responseCallback.AsyncState as HttpWebRequest;
HttpWebResponse webResponse = (HttpWebResponse)webRequest2.EndGetResponse(responseCallback);
Stream streamResponse = webResponse.GetResponseStream();
StreamReader sr = new StreamReader(streamResponse);
string str = sr.ReadToEnd();
}, httpWebRequest);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: