WebClient概述

WebClient概述
从MSDN中我们可以得知,WebClient的作用就是“Provides common methods for sending data to and receiving data from a resource identified by a URI.”也就是说我们可以通过这个类去访问与获取网络上的资源文件。
WebClient类不能被继承,我们可以通过WebRequest和WebResponse这两个类来处理向URI标示的资源和获取数据了。这两个类功能挺强大的,但不足之处的是利用WebRequest和WebResponse时设置过于复杂,使用起来颇为费劲。而WebClient可以理解为对WebRequest和WebResponse等协作的封装。它使人们使用起来更加简单方便,然后它也有先天不足的地方。那就是缺少对cookies/session的支持,用户无法对是否自动url转向的控制,还有就是缺少对代理服务器的支持等等,不过我们可以通过重写WebClient的一些方法来实现这些功能。

WebClient的函数与基本用法
WebClient提供四种将数据上载到资源的方法:
1.OpenWrite 返回一个用于将数据发送到资源的 Stream。
2.UploadData 将字节数组发送到资源并返回包含任何响应的字节数组。
3.UploadFile 将本地文件发送到资源并返回包含任何响应的字节数组。
4.UploadValues 将 NameValueCollection 发送到资源并返回包含任何响应的字节数组。
另外WebClient还提供三种从资源下载数据的方法:
1.DownloadData 从资源下载数据并返回字节数组。
2.DownloadFile 从资源将数据下载到本地文件。
3.OpenRead 从资源以 Stream 的形式返回数据。
WebClient与其他网络相关类的区别
WebClient和HttpWebRequst是用来获取数据的2种方式,一般而言,WebClient更倾向于“按需下载”,事实上掌握它也是相对容易的,而HttpWebRequst则允许你设置请求头或者对内容需要更多的控制,后者有点类似于form中的submit。虽然两者都是异步请求事件,但是WebClient是基于事件的异步,而HttpWebRequst是基于代理的异步编程。
WebClient使用范例

private void button1_Click(object sender, RoutedEventArgs e)
        {
   
            //通过WebClient方式去获取资源文件
            Uri uri = new Uri("http://localhost:2052/Images/cnblogs.png", UriKind.Absolute);
            WebClient webClient = new WebClient();
            webClient.OpenReadAsync(uri);
            webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(client_OpenReadCompleted);
        }

        void client_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
        {
               
            Stream stream = e.Result;  
            BitmapImage bitmap = new BitmapImage();
            bitmap.SetSource
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值