深入探索Silverlight网络编程:从数据交互到消息系统构建
1. 引言
Silverlight应用程序如同大多数软件一样,需要与外部世界进行交互以获取相关的最新信息。虽然WCF服务是一种强大的方式,可以让Silverlight应用从Web服务器检索数据,但在很多情况下,我们还需要从其他非.NET资源库(如REST Web服务、RSS源和普通HTML网页)中获取信息。本文将详细介绍如何在Silverlight中实现这些功能,包括数据下载、不同格式数据处理以及使用套接字构建基本的消息应用程序。
2. 与Web交互
在Silverlight中,WebClient类是一个强大的工具,它不仅可以用于下载二进制文件,还能用于访问HTML页面和Web服务。而WebRequest类则提供了向网页发送值的能力。不过,在使用这些类之前,我们需要了解Silverlight对使用HTTP的代码所施加的安全限制。
2.1 跨域访问
与XMLHttpRequest对象类似,Silverlight的WebClient和WebRequest类也存在跨域访问限制,这主要是出于安全考虑,防止恶意应用程序在用户不知情的情况下访问其他网站。不过,Silverlight借鉴了Flash的方法,允许网站通过XML策略文件来允许跨域访问。当尝试从一个网站下载数据时,Silverlight会先查找clientaccesspolicy.xml文件,如果该文件不存在,则查找 <