在 Silverlight 中管理动态内容交付,第 1 部分
2009-02-05 11:54:37 来源:WEB开发网在编写 Silverlight 应用程序时,要记住届时需要用到但却未打包到应用程序的 XAP 中的所有资源都必须从服务器显式下载。WebClient 类是可用来安排附加资源下载的主要 Silverlight 工具。它提供了一些异步方法,可用于将数据发送到 Web 资源以及从 Web 资源接收数据。下面介绍它的工作原理:
WebClient wc = new WebClient();
wc.DownloadStringCompleted +=
new DownloadStringCompletedEventHandler(callback);
wc.DownloadStringAsync(address);
DownloadStringAsync 方法操控 HTTP GET 并捕获 URL 响应作为一个字符串。此字符串由相关联的回调接收,如下所示:
void callback(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error != null)
return;
string response = e.Result;
...
}
稍后您会看到,此方法非常适合于下载没有附加任何代码隐藏的纯 XAML。要以编程方式下载二进制数据(如 XAP 程序包),您需要用到流并需要使用一种略微不同的方法。这时 WebClient 类仍很有帮助,因为它在 OpenReadAsync 中提供了一种非常适合的方法:
WebClient wc = new WebClient();
wc.OpenReadCompleted +=
new OpenReadCompletedEventHandler(callback);
wc.OpenReadAsync(address);
关联回调的结构与上一示例中的完全相同。最后,使用 DownloadStringAsync 方法获取一个简单的字符串;使用 OpenReadAsync 方法获取任意数据的流。无论您决定下载字符串还是流,都属于个人喜好问题,在本质上取决于您打算如何使用接收到的数据。
另外还要注意,WebClient 提供了一对可以向远程 URL 执行写入操作的方法:UploadStringAsync(用于发布字符串)和 OpenWriteAsync(使用流将任意数据上载到 URL)。
Tags:Silverlight 管理 动态
编辑录入:爽爽 [复制链接] [打 印]- ››动态的改变IFrame的高度
- ››动态4种方法加载JS脚本
- ››silverlight全屏显示图片
- ››Silverlight MVVM 模式(一) 切近实战
- ››管理/var/spool/clientmqueue/下的大文件
- ››Silverlight for Windows Phone 7开发系列(1):...
- ››Silverlight for Windows Phone 7开发系列(2):...
- ››Silverlight for Windows Phone 7开发系列(3):...
- ››Silverlight for Windows Phone 7开发系列(4):...
- ››动态调用对象事件
- ››动态创建控件支持事件响应并可保存与读取
- ››Silverlight for Symbian
更多精彩
赞助商链接