Silverlight杂记之HTTP通信WebClient介绍

简介:




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

       System.Net命名空间中有一个特殊的WebClient类,该类为Silverlight浏览器插件提供了一整套HTTP客户端功能。使用WebClient实现按需部署来优化下载过程,让我们在第一时间不需要呈现的元素等到用户进行请求时再发送。该类提供了从URI标识的任何本地,IntranetInternet资源发送和接收数据的公共方法。
       通过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 ,如需转载请自行联系原作者
相关文章
|
12天前
|
缓存
HTTP 报文解构:深入剖析 HTTP 通信的核心要素
【10月更文挑战第21天】随着网络技术的不断发展和演进,HTTP 报文的形式和功能也可能会发生变化,但对其基本解构的理解始终是掌握 HTTP 通信的关键所在。无论是在传统的 Web 应用中,还是在新兴的网络技术领域,对 HTTP 报文的深入认识都将为我们带来更多的机遇和挑战。
|
3月前
|
负载均衡 Java API
深度解析SpringCloud微服务跨域联动:RestTemplate如何驾驭HTTP请求,打造无缝远程通信桥梁
【8月更文挑战第3天】踏入Spring Cloud的微服务世界,服务间的通信至关重要。RestTemplate作为Spring框架的同步客户端工具,以其简便性成为HTTP通信的首选。本文将介绍如何在Spring Cloud环境中运用RestTemplate实现跨服务调用,从配置到实战代码,再到注意事项如错误处理、服务发现与负载均衡策略,帮助你构建高效稳定的微服务系统。
89 2
|
4月前
|
存储 网络安全 数据安全/隐私保护
[flask]使用mTLS双向加密认证http通信
【7月更文挑战第16天】在Flask应用中实现mTLS双向TLS加密认证可增强HTTP通信安全性。步骤包括: 1. 使用OpenSSL为服务器和客户端生成证书和密钥。 2. 配置Flask服务器使用这些证书: - 安装`flask`和`pyopenssl`. - 设置SSL上下文并启用mTLS验证: 注意事项: - 保持证书有效期并及时更新. - 确保证书链信任. - 充分测试mTLS配置.
|
4月前
|
消息中间件 API 数据库
在微服务架构中,每个服务通常都是一个独立运行、独立部署、独立扩展的组件,它们之间通过轻量级的通信机制(如HTTP/RESTful API、gRPC等)进行通信。
在微服务架构中,每个服务通常都是一个独立运行、独立部署、独立扩展的组件,它们之间通过轻量级的通信机制(如HTTP/RESTful API、gRPC等)进行通信。
|
3月前
|
安全 网络安全 数据安全/隐私保护
[flask]使用mTLS双向加密认证http通信
[flask]使用mTLS双向加密认证http通信
105 0
|
3月前
|
网络协议 应用服务中间件 Go
[golang]使用mTLS双向加密认证http通信
[golang]使用mTLS双向加密认证http通信
|
6月前
|
前端开发 JavaScript 安全
第十篇 Axios最佳实战:前端HTTP通信的王者之选
第十篇 Axios最佳实战:前端HTTP通信的王者之选
282 0
|
6月前
|
缓存 安全 应用服务中间件
HTTPS解密:安全通信的魔法之窗
HTTPS解密:安全通信的魔法之窗
115 0
|
6月前
|
算法 安全 网络安全
HTTPS加密原理解析:保障通信安全的密码学算法
HTTPS加密原理解析:保障通信安全的密码学算法
611 0
|
安全 数据安全/隐私保护
使用openssl 模拟ca进行证书的申请和颁发,并使用证书部署网站的安全连接访问,即https的加密通信
使用openssl 模拟ca进行证书的申请和颁发,并使用证书部署网站的安全连接访问,即https的加密通信
79 0

热门文章

最新文章