WP7 开发学习(2):在WP7中使用网络请求

转载 2012年03月30日 21:16:23

上一篇中介绍到“合一微博”主要是调用腾讯、新浪的开放API实现的,实现这一切都是要请求网络资源的。下面简单介绍一下在WP7中怎样进行网络请求。

wp7中对网络操作没有同步操作,都是异步的,这和Web有点不同。

方案一:使用HttpWebRequestHttpWebResponse对象 

 其基本步骤如下:

 1,实例化一个HttpWebRequest对象

     2,开始请求

     3,实例化一个HttpWebResponse对象来接受请求回来的对象

     4,实例化一个流来处理上一步的response

     5,对上一步的流进行处理,这就要你最想要的喽

     6,记得把流关闭

     7,关闭response响应 

 

示例代码: 

 
        public void GetRequest()
        {
            //实例化一个HttpWebRequest对象
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.google.com.hk/");

            //开始执行请求
            request.BeginGetResponse((result) =>
            {
                //实例化一个HttpWebResponse对象来接受请求回来的数据
                HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(result);

                //实例化一个流来处理response
                using (System.IO.StreamReader sr = new StreamReader(response.GetResponseStream()))
                {
                    //do something 对Stream 进行处理
                    
//......
                    
//......

                    
//关闭response响应
                    response.Close();
                }
            }, request);
}  

        

 方案二:使WebClient对象进行网络请求。

WebClient是请求远程资源的最简洁的方法,直接返回字符串。

它实际上是对HttpWebRequest的封装,隐藏了一些细节,而HttpWebRequest则可以让你了解请求的过程。

 示例代码: 

        public void GetRequest() 
        {

            WebClient client = new WebClient();
            client.DownloadStringAsync(new Uri("http://www.google.com.hk/"));
            //匿名委托来处理返回来的字符串
            client.DownloadStringCompleted += new DownloadStringCompletedEventHandler((sender, e) =>
            {
                //do something 对e.Result 进行处理。e. Result就是你要的东西。
                //......
                
//......
            });
        }

 

 方案三(推荐使用):使用第三方框架Hammock(吊床)

Hammock是个免费开源的框架,托管在github 对网络操作进行了很好的封装,包含OAuth,不过只是OAuth1.0 tweetsharp中也用到了它。

 

下载地址:https://github.com/danielcrenna/hammock

 

使用步骤如下:

1,实例化RestClient对象

2,设置该对象的一些属性,如Authority

3,实例化一个RestRequest对象

4,添加RestRequest的请求参数

5,使用RestClient实例的BeginRequest方法进行异步请求

6,处理回调函数 

 

  实例代码: 

    public void GetRequest() 
         {

            RestClient client = new RestClient();

            RestRequest request = new RestRequest();
            request.Path = "http://www.google.com.hk/";
            request.Method = WebMethod.Get;
            request.Encoding = Encoding.UTF8;

            client.BeginRequest(request, new RestCallback((req, response, userState) =>
            {
                //do something 对response.Content 进行处理。 response.Content就是你想要的东西 
                //......
                
//......
            }));
        }

 

 原文地址:http://www.cnblogs.com/xumingxiang/archive/2012/03/20/2407755.html 

wp7开发环境搭建

简介 本文通过step by step的模式讲述如何从0开始搭建Window Phone 7开发环境,如果开发简单的Windows Phone 7程序。只是一篇介绍性的文章,但是迈进Windows ...
  • hanghangaidoudou
  • hanghangaidoudou
  • 2013年03月12日 10:08
  • 849

wp7的web使用

WebBrowser控件是很多手机开发中非常常见的控件,学习的难度也比较低。 先体验一下吧!输入网址,然后点Go按钮便打开你输入的那个网址。 phone:PhoneApplicatio...
  • LanSeTianKong12
  • LanSeTianKong12
  • 2015年06月24日 14:46
  • 375

WP7开发 显示长文本

在开发中,遇到了这样一个情况:显示一段文字。理所当然地写出了一个TextBlock,设置了高度自动,并熟练的进行了数据绑定…… 测试的时候发现,由于这段文字太大,TextBlock居然显示不完整。百度...
  • zhangtaoxgu
  • zhangtaoxgu
  • 2013年06月09日 17:42
  • 357

WP7开发中使用自定义的弹出窗口

关键词:WP7开发;自定义控件;自定义窗口;MessagePrompt 今天与大家分享一下WP7开发中如何使用自定义的弹出窗口,为MessageBox寻找一种替代方案。 两种方法: 1....
  • xd_wangkai
  • xd_wangkai
  • 2013年07月10日 19:55
  • 1057

wp7 XAP部署工具

http://www.xapcn.com/software/wp7_xap_tom_xap_installer_v1200_1113.html wp7 XAP部署工具 Tom XAP Ins...
  • wlanye
  • wlanye
  • 2014年07月16日 13:52
  • 564

wp7 webbrowser+html5 打造本地应用程序

今天我终于实现了用webbrowser打开本地的一个html5的网页了,一路真是波折,主要的原因是因为,MS的所有默认值都不是我们所希望的,所以我们要去发现这些默认值,并修改他.   首先...
  • LanSeTianKong12
  • LanSeTianKong12
  • 2015年06月24日 14:51
  • 478

浅谈WP7 本地数据库的选择

简介   最近在选择Windows Phone 7的本地数据库,把经验记录下来。数据库的选择,我考虑以下几点: 性能, 稳定性, footprint(占用文件和内存大小),费用(许可证类型),易用性...
  • shuaishenkkk
  • shuaishenkkk
  • 2013年05月10日 20:00
  • 776

wp7音乐播放器

前台代码:
  • shang_111111
  • shang_111111
  • 2013年06月14日 09:12
  • 1056

WP7内容与资源

以前有朋友问过我怎么把本地的记事本里面的数据绑定到页面上。最近也有不少人问起。还是发篇博文吧。 以前有个博文是写调用图片。http://www.cnblogs.com/wildfeng/archiv...
  • cjh94520
  • cjh94520
  • 2014年06月12日 17:25
  • 200

基于WP7的RSS阅读器

时近年关,手头的事情渐渐进入尾声,最近一段时间一直忙碌于windows8应用程序的开发,突然想到作为只能客户端的一员手机也充当着重要的角色,为什么不能出一个基于WP7系统的应用呢,于是乎创建了这个基于...
  • dyllove98
  • dyllove98
  • 2013年02月24日 00:02
  • 699
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WP7 开发学习(2):在WP7中使用网络请求
举报原因:
原因补充:

(最多只允许输入30个字)