任何人都可以指向一个链接,其中包含有关 Silverlight 工作原理的详细说明。我的意思是,它是作为单独的进程运行还是与浏览器在同一进程中运行?负责解析 XAML 和渲染 Silverlight 的 silverlight 插件是否在与浏览器相同的地址空间中运行?基本上更多关于silverlight代码是如何被解析和渲染的细节以及处理它的过程以及这个过程在哪里运行的更多细节?
TIA
任何人都可以指向一个链接,其中包含有关 Silverlight 工作原理的详细说明。我的意思是,它是作为单独的进程运行还是与浏览器在同一进程中运行?负责解析 XAML 和渲染 Silverlight 的 silverlight 插件是否在与浏览器相同的地址空间中运行?基本上更多关于silverlight代码是如何被解析和渲染的细节以及处理它的过程以及这个过程在哪里运行的更多细节?
TIA
我还没有看到有关您正在寻找的深度的任何信息。所以,请遵循我知道的一些内容。
Silverlight 的运行方式取决于浏览器插件架构。 看看以下链接: http://blogs.msdn.com/b/jstegman/archive/2008/12/21/silverlight-browser-support.aspx http://kb.mozillazine.org/Plugin-container_and_out-of-process_plugins 这个链接有一点关于你在问什么(SL1):http ://help.outlook.com/en-us/140/bb412366.aspx 上面的这些链接都没有深入您正在寻找的深度。我只知道 Silverlight 插件是一个运行时环境,就像 .net 或 java vm 一样。
为 Silverlight 应用程序(c#、vb、f#)编写的代码首先编译、打包并压缩到 xap 文件中在 IE 中 Silverlight 使用 ActiveX 技术。在其他浏览器中,它使用 NPAPI。
源代码在运行时不被解析/解释。Silverlight 应用程序是二进制格式,就像普通的 .net 应用程序一样。
xap 文件是包含二进制文件 (dll) 和内容(xaml、图像...)的部署单元。 Visual Studio 负责为您生成 xap。但你也可以自己做这一切。xap 扩展名只是一个重命名的 zip 文件。一旦浏览器接收到 xap 文件,插件就会启动并解压缩并执行应用程序。
AppManifest.xaml(xap 中的一个文件)告诉插件哪个类是入口点。 当 Silverlight 应用程序运行时,只有 UI 控件的 Xaml 部分在运行时被解析。 输入首先由浏览器处理,然后由插件处理。一般来说,你不太关心它,但它确实会产生一些后果。Silverlight 插件还能够呈现直接嵌入在 Html 中的 Xaml。
该插件能够与页面交互,可以将对象模型暴露给 JavaScript,应用程序也可以调用 JavaScript 函数并与 DOM 交互。如果为此而设计,Silverlight 应用程序也可以在浏览器之外运行。