WP网络编程

本文对比了WebClient、HttpRequest、SharpGISwebclient和RestSharp四种网络请求工具在Windows Phone 7平台上的使用特点及适用场景。WebClient适用于简单GET和POST请求;HttpRequest支持更多HTTP方法但实现较复杂;SharpGISwebclient能减少30%网络流量;RestSharp则提供强大的RESTful支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.WebClient
主要应用场景:
     1)简单的GET和POST应用场景
     2)在WP里面只有异步的方法
     3)不支持cookies,但是这个有办法

  public class CookieSupportedWebClient GZipWebClient
    {
        [ SecuritySafeCritical ]
        public CookieSupportedWebClient ()
        {
            CookieContainer new CookieContainer();
        }

        public CookieContainer CookieContainer { get set ; }

        protected override WebRequest GetWebRequest (Uri address)
        {
            WebRequest request base. GetWebRequest (address );

            if (request is HttpWebRequest )
                ( request as HttpWebRequest). CookieContainer CookieContainer ;
            return request ;
        }
    }

2.HttpRequest
主要应用场景:
     1)GET POST PUT DELETE 都支持,手段比WebClient丰富
     2)写起来比较麻烦,尤其是POST方法
     3)支持content type: Multipart,但是WP里面弄还是有点麻烦,不支持直接用地址

3.SharpGISwebclient
http://www.sharpgis.net/post/2011/08/28/GZIP-Compressed-Web-Requests-in-WP7-Take-2.aspx
            
主要应用场景:减少30% 网络流量!!!
     1)如果用webclient的地方可以直接用SharpGISwebclient来替换
     2)还是不支持cookies
     3)现有用着webclient的地方不用修改,主要在app.xmal.cs里面加入以下代码即可
//            WebRequest.RegisterPrefix("http://", SharpGIS.WebRequestCreator.GZip);
//            WebRequest.RegisterPrefix("https://", SharpGIS.WebRequestCreator.GZip);


4.RestSharp
http://restsharp.org/
感觉是个神器!!在github,Nuget都有项目
     1)支持Restful的请求
     2)支持直接反序列话,现在的版本甚至不依赖json.net
     3)有同步和异步的请求方法,可操作的范围比得上HttpRequest
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值