技术开发 频道

Silverlight 整体架构分析

  2.3 Silverlight BCL

  Silverlight base class library是.Net base class library的子集,完全基于原来的代码基构建。为了适应Web应用的需求,做了一些改变:

  - 减少尺寸

  作为浏览器插件,用户需要快速的下载安装,运行,Silverlight提供的类库必需具有很小的尺寸。所以基于浏览器应用的特点移除一些不必要的特性,例如Console,COM操作,还有CodeAccess Security等等。

  - 添加特性

  同时也为Silverlight添加了必要的特性功能,例如IsolatedStorage等等。

  2.4 跨平台支持

  Silverlight提供了一个平台抽象层来支持更多的操作系统例如MacOS X,如下图:

1

  在PAL层上定义了跟Win32相同的API接口,在Mac操作系统上会被重新定向。

  3. 运行

  3.1 Silverlight运行环境

  Silverlight应用程序被托管在浏览器中,通过Silverlight插件加载CoreCLR,然后CoreCLR为应用程序创建AppDomian,最后初始化SilverlightApplication类。

  下图是MSDN关于Silverlight运行环境的图例:

  3.2 Silverlight运行顺序

  最后我们看一下Silverlight应用在浏览器中是如何被执行的:

  - 浏览某个带有Silverlight的网页

  - 浏览器加载Plug-in

  - Plug-in创建CoreCLR以及其他的服务

  - 同时浏览器下载xap文件

  - CoreCLR创建AppDomain,最后实例化Application类。

1
 

0
相关文章