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

WP网络编程

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

[align=left] public class CookieSupportedWebClient : GZipWebClient[/align]
[align=left] {[/align]
[align=left] [ SecuritySafeCritical ][/align]
[align=left] public CookieSupportedWebClient ()[/align]
[align=left] {[/align]
[align=left] CookieContainer = new CookieContainer();[/align]
[align=left] }[/align]

public CookieContainer CookieContainer { get ; set ;
}

[align=left] protected override WebRequest GetWebRequest (Uri address)[/align]
[align=left] {[/align]
[align=left] WebRequest request = base. GetWebRequest (address );[/align]

[align=left] if (request is HttpWebRequest )[/align]
[align=left] ( request as HttpWebRequest). CookieContainer = CookieContainer ;[/align]
[align=left] return request ;[/align]
[align=left] }[/align]
[align=left] }[/align]

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

[align=left]3.SharpGISwebclient[/align]

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

[align=left]// WebRequest.RegisterPrefix("http://", SharpGIS.WebRequestCreator.GZip);[/align]
[align=left]// WebRequest.RegisterPrefix("https://", SharpGIS.WebRequestCreator.GZip);[/align]

[align=left]4.RestSharp[/align]
[align=left]http://restsharp.org/[/align]
[align=left]感觉是个神器!!在github,Nuget都有项目[/align]
[align=left] 1)支持Restful的请求[/align]
[align=left] 2)支持直接反序列话,现在的版本甚至不依赖json.net[/align]
[align=left] 3)有同步和异步的请求方法,可操作的范围比得上HttpRequest[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: