Silverlight 中的 CoreCLR

本文介绍了Silverlight及其使用的CoreCLR,解释了CoreCLR与标准CLR的区别,并探讨了这两种CLR之间的互操作性和安全性问题。
Silverlight 2  包含一个 CLR,但并不是其他 .NET 应用程序和程序集使用的 CLR. Silverlight CLR 也称为 CoreCLR,在设计时充分考虑了不同用途。CoreCLR 专为跨平台互操作性而设计,可与 CLR 同时运行并支持不同的安全模型以及不同版本的基础类库。
CoreCLR 是 Silverlight 使用的虚拟机。它类似于为 .NET Framework 2.0 及更高版本提供强大功能的 CLR,也包含相似的类型加载和垃圾收集 (GC) 系统。
CoreCLR 采用非常简单的代码访问安全性 (CAS) 模型——它比桌面 CLR 更简单,Silverlight 只需要在应用程序级别强制实施安全策略。这是因为作为独立于平台的 Web 客户端,它不能依靠任何特殊的现行企业或机器策略,而且也不应该允许用户更改现有策略。但也有一些例外情况,比如 OpenFileDialog 和 IsolatedStorage(存储配额更改),在这种情况下,Silverlight 需要用户的明确同意才能打破沙箱的默认规则集。OpenFileDialog 用于访问文件系统,而 IsolatedStorage 的作用是访问名义上隔离的存储并提高存储配额。
Silverlight 和 .NET 应用程序使用不同 CLR 意味着您不能在两个针对 .NET 应用程序和 Silverlight 应用程序的项目中引用同一个程序集。主要问题出在 mscorlib 程序集上。Silverlight 正常使用所需的功能集非常小-仅仅是内核。但任何 .NET 程序集都要链接标准版本的 mscorlib,这就是问题所在。
MSDN杂志上有两篇文章详细的讨论了CoreCLR:
使用 CoreCLR 编写Silverlight: http://msdn.microsoft.com/magazine/cc721609
Silverlight 2 中的安全性: http://msdn.microsoft.com/magazine/cc765416





本文转自 张善友 51CTO博客,原文链接:http://blog.51cto.com/shanyou/127576,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值