博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Silverlight杂记之HTTP通信WebClient介绍
阅读量:6615 次
发布时间:2019-06-24

本文共 1304 字,大约阅读时间需要 4 分钟。

Silverlight的微型.NET框架集成了具有通信功能的类,这些类都封装在System.Net命名空间中。但是由于一些原因,允许的通信协议只有HTTP/HTTPS一种,我们常见的FTP,FILE等协议并未得到支持。

       System.Net命名空间中有一个特殊的WebClient类,该类为Silverlight浏览器插件提供了一整套HTTP客户端功能。使用WebClient实现按需部署来优化下载过程,让我们在第一时间不需要呈现的元素等到用户进行请求时再发送。该类提供了从URI标识的任何本地,Intranet或Internet资源发送和接收数据的公共方法。
       通过WebClient,我们可以使应用程序具有初始化请求,监视请求进程和获取服务器端资源的功能,这样就便于在无需刷新整个宿主HTML页面情况下就能得到异步请求的XAML文档,附加程序集,媒体元素等应用程序数据,并在我们当前UI中显示出来。
       我们除了下载指定的数据,还可以使用WebClient把本地资源以流的形式写入服务器。在表面上看,WebClient和文档对象模型中的XMLHttpRequest对象非常相似。
下载相关方法
方法
描述
DownloadStringAsync
在不阻止线程调用的情况下,使用HTTP Get命令,以
字符串的形式从指定Uri异步下载资源。
注意:在下载操作完成之前不能对同一个WebClient对象调用该方法。
OpenReadAsync
在不阻止线程调用的情况下,使用HTTP Get命令,以
的形式从资源异步返回数据。
注意:在下载操作完成之前不能对同一个WebClient对象调用该方法。
下载相关事件
事件
描述
DownloadProgressChanged
当异步下载操作成功传输部分或全部数据时触发
DownloadStringChanged
当异步字符串下载操作完成时触发
OpenReadCompleted
当异步资源读取操作完成时触发
上传相关方法
方法
描述
UploadStringAsync
在不阻止线程调用的情况下,使用HTTP POST命令向资源异步发送字符串。当字符串上传完成之后将自动触发UploadStringCompleted事件。
OpenWriteAsync
在不阻止线程调用的情况下,使用HTTP POST命令获取用于向资源异步发送数据的可写流。如果关闭流,则在请求发送到Uri并获取响应之前,线程将被阻止,但是在流打开时,方法不会阻止线程。
上传相关事件
事件
描述
UploadProgressChanged
当异步上传操作成功传输部分或全部数据时触发
UploadStringChanged
当异步字符串上传操作完成时触发
OpenWriteCompleted
当异步操作打开向资源写入数据的流时触发
上传和下载方法都包含字符串和流两种资源访问方式,选择哪一种方法取决于如何使用资源。通常情况下,数据流更为通用。
 本文转自 王祖康 51CTO博客,原文链接:
http://blog.51cto.com/wzk89/536282
,如需转载请自行联系原作者
你可能感兴趣的文章
IIS下支持下载.exe文件
查看>>
为安装Oracle准备VNC环境
查看>>
桌面快捷方式打不开怎么办?用金山网盾可修复
查看>>
10个箱子,只秤一次,找出那个装9两/个的箱子
查看>>
Matlab信号上叠加噪声和信噪比的计算
查看>>
Ubuntu Linux 环境变量PATH设置
查看>>
CXF WebService Hello World
查看>>
MySQL内核源码解读-SQL解析一
查看>>
市场调研报告:企业级信息防泄漏大趋势
查看>>
linux关机与重启命令(转)
查看>>
济南企业短信平台的价格如何?
查看>>
如何增加和删除apt-key
查看>>
.NET线程的同步和通讯
查看>>
运维常用命令
查看>>
RelativeLayout相对布局各种常见的问题
查看>>
(转载)C#richTextBox中的内容换行
查看>>
Python 学习笔记之循环
查看>>
requirejs
查看>>
linux下双网卡绑定
查看>>
如何在Android Studio上使用Github
查看>>