Silverlight 中的 CoreCLR

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏为数不多的Android技巧

无需Root也能使用Xposed!

Xposed是Android系统上久负盛名的一个框架,它给了普通用户任意 DIY 系统的能力;比如典型的微信防撤回、自动抢红包、修改主题字体,以及模拟位置等等等...

26020
来自专栏Create Sun

Asp.Net Core-----简介与安装

目录 Asp.Net Core-----简介与安装 Asp.Net Core简介 ? ASP.NET Core 是一个全新的开源、跨平台框架,可以用它来构建基于...

38970
来自专栏张善友的专栏

CentOS 7.2下安装Mono 5.0

Mono 5.0是一个非常重要的里程碑版本,支持Windows 64位部署,还有支持PowerPC等,Mono 5.0 和微软的.NET 的可操作性,兼容性也得...

75900
来自专栏木宛城主

厚积薄发,拥抱 .NET 2016

厚积薄发这个词是高三英语老师在高考前写在黑板上,高中三年努力这么久,是时候迎面而上,冲刺向前。所以,一想到.NET 2016,脑海里蹦出的第一个词就是它。 ....

427150
来自专栏施炯的IoT开发专栏

Windows Phone SDK 7.1 中文版本发布

        自2011年9月底推出Windows Phone SDK 7.1 RTM版本之后,很多国内的开发者焦急地等待着中文版本的推出。因为很多装了...

20260
来自专栏张善友的专栏

TestDriven.NET (2.7 Beta) 支持Silverlight/CoreCLR

Silverlight 1.1,在这个微软已经提供下载alpha版本中,包含了一个缩减版的CLR,还有最新发布的Dynamic Language Runtime...

19490
来自专栏C# 编程

NET Framework 版本和依赖关系

原文:https://docs.microsoft.com/zh-cn/dotnet/framework/migration-guide/versions-a...

32300
来自专栏张善友的专栏

使用MonoDevelop开发跨平台的应用程序

Mono®项目在3月31日发布了Mono2.4和MonoDevelop 2.0版本,2009年6月3日Lluis 在博客上宣布了MonoDevelop是一个完全...

23050
来自专栏程序员与猫

.NET Core全面扫盲贴

标签: .NETCore Asp.NETCore 1. 前言 .NET发行至今已经过了十四个年头。随着版本的不断迭代更新,.NET在Windows平台上的表现也...

36870
来自专栏张善友的专栏

CentOS 7.2下安装Mono 5.0

微软Build2017大会期间.NET领域的.NET core之外,就是Visual Studio For Mac,大家都知道Visual Studio For...

22950

扫码关注云+社区

领取腾讯云代金券