在 Silverlight 中管理动态内容交付,第 1 部分
2009-02-05 11:54:37 来源:WEB开发网Silverlight 应用程序的大小
用户安装了 Silverlight 插件后,他就拥有了 Silverlight 应用程序可能会需要的所有系统程序集。这意味着下载仅限于包含该应用程序的程序集以及任何引用的自定义程序集。最后,应用程序下载文件的大小通常为数万字节。请注意,此估计值仅适用于 RTM 版本的 Silverlight 2 以及在发布模式下编译的代码。
当然,该应用程序占用的空间可能会更大,尤其是当其包含长算法、图形和媒体内容或动画时。要处理下载时间过长的大型应用程序,一般可采用以下两种方法。一种是流式传输 Silverlight 内容,如 silverlight.live.com 上所述。另一种是将应用程序拆分成可以按需分别下载的独立片段。
动态生成的 XAML
Silverlight 插件本质上设计用于显示 XAML 内容。如果 XAML 附带了一些代码隐藏,则该插件会对代码进行处理以生成用户界面并支持任何编码行为或效果。如果您要下载的是 XAML,那么可以通过 URL 直接指向该 XAML;如果不是,则可以通过 XAP 扩展名来引用 Silverlight 程序包。
XAP 程序包内含指令清单和一或多个程序集。其中一个程序集包含应用程序的入口点;其他程序集仅仅是引用的程序集。用户界面的 XAML 存储在入口点程序集的资源中。在创建和编译项目时,Silverlight 2 的 Visual Studio 2008 扩展会创建一个 XAP 程序包。
XAML 和 XAP 流都属于 Silverlight 插件知道如何处理的流。但是要下载此类内容,您不必将该插件指向服务器上的物理 XAML 或 XAP 资源。您可以将该插件指向某个 URL,例如,可以指向返回动态生成的 XAML 或 XAP 内容的 URL。
图 1 显示了一个示例 ASP.NET HTTP 处理程序,它将返回动态创建的某些 XAML。ProcessRequest 方法在 Response 对象上设置内容类型,然后根据配置数据、参数或运行时条件撰写某些 XAML 内容(如动态合成的 XAML)。通过设置 Response 对象的 Expires 属性,您还可以禁止在客户端上缓存资源。如果您所处理的内容会定期改动并需要刷新,则这可能会有所帮助。
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
更多精彩
赞助商链接