【发布时间】:2011-03-03 06:25:08
【问题描述】:
Silverlight 应用程序如何在浏览器中工作?
例如,当我访问具有 Silverlight 控件的页面时,Silverlight 运行时如何从“XAP”包中提取数据/dll?是一次性加载所有dll还是支持延迟加载dll?
【问题讨论】:
标签: silverlight silverlight-4.0
Silverlight 应用程序如何在浏览器中工作?
例如,当我访问具有 Silverlight 控件的页面时,Silverlight 运行时如何从“XAP”包中提取数据/dll?是一次性加载所有dll还是支持延迟加载dll?
【问题讨论】:
标签: silverlight silverlight-4.0
如果您对 silverlight 插件的内部工作原理以及它如何读取 XAP 感兴趣,请访问 http://stuff.seans.com/2009/03/23/hello-silverlight-world-part-3-the-lifecycle-of-a-silverlight-control/#comment-826
他总结得很好。
【讨论】:
Silverlight 运行时将在执行入口点之前从 Xap 文件中提取和加载所有 DLL。 Xap 中的其他文件将以按需方式提取。
如果您的 Silverlight 项目中有重要的“数据”文件并且它们需要在 Xap 中,请将它们添加为“内容”而不是“资源”。
对于较大的 Silverlight 应用程序,可以使用 MEF 等技术将应用程序划分为多个 XAP 并支持动态加载 dll。
【讨论】:
Silverlight xap 文件只是一个 zip 文件,其中包含所有必需的 dll 和用于执行的文件。浏览器下载,然后提取文件并使用 Silverlight 播放器开始执行,这是 .NET 引擎的轻量级版本。当然也有延迟加载 dll 的技术,我猜,如果你需要的话。
【讨论】: