Silverlight如何运作?

时间:2010-07-16 21:41:36

标签: silverlight silverlight-toolkit

任何人都可以向我指出一个链接,其中详细说明了Silverlight的工作原理。我的意思是,它是作为一个单独的进程运行还是在与浏览器相同的进程中运行? Silverlight插件是否负责解析XAML并呈现Silverlight与浏览器在同一地址空间中运行?基本上更多关于如何解析和呈现Silverlight代码的细节以及处理它的过程以及这个过程在哪里运行?

TIA

1 个答案:

答案 0 :(得分:2)

我还没有看到您正在寻找的深度信息。 所以,请按照我所知道的一些内容。

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,images,...)的部署单元。

Visual Studio负责为您生成xap。但你也可以自己做。 xap扩展名只是一个重命名的zip文件。

一旦浏览器收到xap文件,插件就会启动并解压缩并执行应用程序。

AppManifest.xaml(xap中的一个文件)告诉插件哪个类是入口点。

运行Silverlight应用程序时,仅在运行时解析UI控件的Xaml部分。

输入首先由浏览器处理,然后由插件处理。一般来说,你并不关心它,但确实有一些后果。

Silverlight插件还能够将Xaml直接嵌入到Html中。

插件能够与页面交互并可以将对象模型暴露给JavaScript,并且应用程序还可以调用JavaScript函数和交互与DOM。

如果是为此设计的,Silverlight应用也可以在浏览器外部运行。