1、什么是WebClient?
???基础知识
?
WebClient类是.Net框架下提供的向URI标识的资源发送数据和从URI标识的资源接收数据的公共方法,使用这个类,可以在脱离浏览器的基础上模拟浏览器对互联网上的进行发送信息和下载信息。然而由于是模拟浏览器,所有没有对Cookie、session?的支持。
Webclient的发送和接收请求都是异步的,并能够监控请求的进度。如开发一个视频播放应用程序,在应用程序加载时,选择开始请求每一部影片,使其加载到浏览器的缓存中,这样可以避免缓冲延迟
相关方法
上传资源
OpenWriteAsync:?在不阻止调用线程的情况下以异步方式将字节流数据发送到资源。 UploadStringAsync:?在不阻止调用线程的情况下,将?字符流数据发送到资源。 |
??? 下载资源
?
DownloadStringAsync:?在不阻止调用线程的情况下,从资源下载?字符流数据。 OpenReadAsync?:?在不阻止调用线程的情况下,以异步方式从资源返回字节流数据。 |
CancelAsync?取消一个挂起的异步操作
?
2、理解字符流和字节流
所有的文件的存储都是字节存储的。
字节流可用于任何类型的对象,包括二进制对象,而字符流自能处理字符或字符串。
字节流的操作不会用到内容,而是直接在硬盘中操作。而字符流操作必须在内存中进行。所以如果我们在上传各种类型的文件时,都应选择字节流的方式。在是发送和下载字符信息时应使用字符流方式。
?
3、WebClient与WebRequest差异
WebClient和HttpWebRequest?都是用来获取数据的,一般而言WebClient更趋向于“按需下载”,而WebRequst有点累世form中的submit。WebClient是基于事件的异步,而WebRequst是基于代理的异步编程
?
?
4、参考资料
http://www.cnblogs.com/lmyhao/archive/2011/03/12/1982371.html
http://www.cnblogs.com/626498301/archive/2010/08/13/1798662.html
?
?
?