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