简述.Net框架体系结构的组成。

Python041

简述.Net框架体系结构的组成。,第1张

.NET框架是一个多语言组件开发和执行环境,它提供了一个跨语言的统一编程环境。.NET框架的目的是便于开发人员更容易地建立Web应用程序

Web服务,使得Internet上的各应用程序之间,可以使用Web服务进行沟通。从层次结构来看,.NET框架又包括三个主要组成部分:公共语言运行

时(CLR:Common Language Runtime)、服务框架(Services Framework)和上层的两类应用模板——传统的

Windows应用程序模板(Win Forms)和基于ASP NET的面向Web的网络应用程序模板(Web Forms和Web Services)。LZ你百度搜索下就有了。

很多任务。对应用程序代码的信任是一个主要需求,因为我们谁也不想软件或信息遭到破坏。给予许可的安全策略不会允许对敏感信息的不适当的访问,或将本地机器暴露给恶意的程序或甚至是有平常错误的代码。

过去,安全结构提供了基于用户帐号的隔离和访问控制--在这些限制内给予代码完全访问权,并假定由特定用户可运行的代码具有相同的信任度。不幸的是,如果所有程序都代表某用户运行,根据用户对代码的隔离对于保护一个程序不被其它用户使用是不够的。另一种情况,不能被完全信任的代码经常被转移到"沙箱"模型中执行,在此代码运行于隔离环境,而不会访问大部分的服务。

对今天应用程序的成功的安全解决方案必须能强化两个安全模型间的平衡。它必须提供对资源的访问,以便以完成有用的工作,它需要对应用程序的安全性作细致的控制以确保代码被识别,检测,并给予合适的安全级别。.NET Framework就提供了一个这样的安全模型。

[编辑本段]Microsoft .NET Framework安全解决方案

.NET Framework安全解决方案基于管理代码的概念,以及由通用语言运行时(CLR)加强的安全规则。大部分管理代码需要进行验证以确保类型安全及预先定义好的其它属性的行为的安全。例如,在验证的代码中,声明为接收4字节值的访问将拒绝提供8字节参数的调用,因为不是类型安全的。验证过程还确保了执行流只传送到已知的位置,如方法入口点--这个过程去除了跳转到任意位置执行的能力。

验证将阻止不是类型安全的代码执行,在它们引起破坏前捕获很多常见的编程错误。通常的弱点--如缓存溢出,对任意内存或没有初始化的内存的读取,对控件的随意传送--都不再可能出现。这将使最终用户受益,因为在他们执行代码前对其进行检查。这也有益于开发人员,他们会发现很多常见错误(过去一直在困绕前开发)现在可以查明,并能阻止它们引起破坏。

CLR也能使非管理代码运行,但非管理代码不能从这些安全措施中受益。特殊的许可与对非管理代码的调用能力相关,一个强大的安全策略能确保这些许可被恰当地给予。经过很长时间后,非管理代码到管理代码的移植将减少对非管理代码的调用频率。

[编辑本段]微软.NET Framework安全机制的构件

基于证据的安全

.NET Framework引入了"基于证据的安全"的概念。在本质上,它是对安全策略暴露出来问题的解答:

· 组合从哪个站点获得?

组合是.NET Framework应用程序的构件。它们组成了部署,版本控制,重用,激活作用域,安全认证的基本单元。应用程序的组合是从网站上下载到客户端的。

· 组合是从哪个URL获得的?

安全策略需要明确的地址,而组合是从这个地址下载的。

· 组合是从哪个区获得的?

区是基于代码的位置,对安全标准,如 Internet, intranet和本机等等,的描述。

· 组合的强名(strong name)是什么?

强名是由组合的创建者提供了密码强化后的标识符。尽管它没有提供对创建者的任何证明,但它唯一标识了组合,确保了组合没有被破坏过。

根据对这些问题的回答,及其它证据,安全策略可以对赋予组合垢合适许可进行计算。从多种来源可以得到证据,包括CLR,浏览器,微软ASP.NET,及外壳--这依赖于代码的来源。

策略驱动的信任模型使用代码证据

当组合被调入内存进,CLR策略系统通过收集组合的证据并在策略环境中对证据进行计算,从而决定赋予组合什么样的许可权。CLR策略系统然后根据评估过的证据和组合作出的许可请求给予组合一组许可。只有在组合被给予了一组最少的许可后,或组合根本不需要许可权,组合的创建者才能知道组合正确运行。通过一个或多个对特定许可的请求,这样的附加需求可以被传送室策略系统。

根据许可请求的类型,策略系统可以进一步限制给予组合的许可(删除不必要的许可)或甚至拒绝将组合装入内存(如果运行组合所需的最小许可没有被策略给予)。在不存在任何许可请求的情况下,组合永远不会被给予多于策略系统将会给予的许可权限,请求只是进一步限制得到的许可。

安全策略包含了许多代码组,这些组包含了根据证据应给予的许可权。代码组描述的许可可提供给从特定的安全区域获得的组合,或提供给由特定发行商签名过的组合,等等。尽管随CLR发行了一组默认的代码组(及相关许可),但管理员可以对这些CLR安全的进行定置,以适合他们的特殊需求。记住,通过定义与证据相关的代码组,任何东西都可以作为证据提交,只要安全策略可以使用它。

创建许可的的过程涉及到对证据的评估,以确定代码组适用于哪个等级:企业,机器,和用户。策略按上面顺序对这三个等级进行评估,然后创建交插了三个等级的许可设置。管理员可以将任何一个策略等级标记为终结(final),这样做应付阻止在其它等级上对策略做进一步评估。例如,管理员可以在机器级别上对组合终止策略,这样就会阻止用户级策略对该组合的应用。

一旦策略完成,许可的最初设置也就创建了。组合通过从三个方面做出特定的请求可以优化这些许可:

· 第一方面是指定为了使组合运行它必须拥有的最小许可设置。如果这些许可没有给予,那么组合将不同调入到内存,并抛出例外。

· 第二,可以指定一组可选的许可。尽管组合希望存在这些许可,但如果无法获得这些许可,它仍可以调入到内存。

· 最后,行为特别好的组合实际上会拒绝它们所不需的有风险的许可。这三个优化选项是调入时作为声明语句实现的。

在运行时,许可是根据代码的执行计算的。右侧的图总结了这个过程的发生顺序。组合A3将它的证据和来自主机的证据提供给策略评估器。策略评估器在创建许可时也要考虑从组合得到的许可请求,"G3"。组合A3由组合A2调用,而A2又是由组合A1调用的。当组合A3执行一个引发安全检查的操作时,A2和A1获得的许可同样也要进行检查,以确保它们拥有A3所请求的许可权限。在这个过程中,此过程称为堆栈遍历(walking),堆栈中每个组合的许可权限都要进行检查以确定所给予的权限设置是否包含安全检查所需要的许可。如果堆栈中的每个组合被给予了安全检查所需要的许可,调用将成功。如何任何组合没有给予所需要的许可,堆栈遍历过程失败,安全例外将被抛出。

概要

Microsoft .NET Framework 是一个 Microsoft Windows 组件,Windows 用户可通过各种分发渠道获得它。这些分发渠道包括 Microsoft Update 网站和 Microsoft 下载中心。该组件还安装在一些新的计算机上。本文论述在计算机上安装 .NET Framework 的好处。

有关 Microsoft Update 网站的更多信息,请访问下面的 Microsoft 网站:

()

更多信息

目前有五个 .NET Framework 发行版:

•.NET Framework 3.5

•.NET Framework 3.0

Service Pack 1 (SP1) 为最新的 Service Pack。

•.NET Framework 2.0

Service Pack 1 (SP1) 为最新的 Service Pack。

•.NET Framework 1.1

Service Pack 1 (SP1) 为最新的 Service Pack。

•.NET Framework 1.0

Service Pack 3 (SP3) 为最新的 Service Pack。

您可能在计算机上安装了多个版本的 .NET Framework。计算机上的每个 .NET Framework 版本都能与其他版本共存。

注意:在大多数情况下,可以使用最新版本的 .NET Framework 来运行用早期版本的 .NET Framework 创建的应用程序。

注意:在安装 .NET Framework 的某个发行版之前,必须删除该发行版所基于的任何测试版。否则,将无法安装此 .NET Framework 发行版。可以使用“控制面板”中的“添加或删除程序”工具来卸载 .NET Framework 的测试版。如果无法从 Microsoft Update 网站安装 .NET Framework,而您需要排查这一问题,则最好先尝试执行这一步骤。

下表包括安装 .NET Framework 的一些好处:

•更容易安装商业应用程序:Microsoft 和第三方提供的许多商业应用程序都依赖 .NET Framework 支持其核心功能。如果安装了 .NET Framework,则更容易安装这些应用程序。需要 .NET Framework 提供支持的一些应用程序包括:

•Microsoft Encarta 2005

•Microsoft Windows Live OneCare

•Intuit QuickBooks

•HP Image Zone

•Streamload

•PayPal

•Grouper

•更容易更新:安装 .NET Framework 后,Microsoft Update 服务会自动更新它。如果通过“控制面板”接收“自动更新”,则计算机上安装的任何版本的 .NET Framework 将通过最新的 Service Pack 始终保持最新。

下列好处只能从 .NET Framework 2.0 中获得:

•无需部署即可轻松使用应用程序:使用 .NET Framework 2.0,可以从 URL 运行应用程序。该功能可提供更多本地安装的应用程序,并为从 URL 启动应用程序提供了便利。该功能在组织内尤其有用,它可以提供更多的应用程序而不会产生部署负担。

•为 Windows XP 用户使用 Windows Vista 做好准备:Microsoft WinFX 是 Microsoft Windows Vista 的编程基础结构。WinFX 建立在 .NET Framework 2.0 基础之上,它能为用户带来对 Windows Vista 的全新应用体验。WinFX 也供 Windows XP 用户使用。NET Framework 2.0 为 Windows XP 用户提供了更轻松的 WinFX 更新体验。

参考

有关 Microsoft .NET Framework 的更多信息,请访问下面的 MSDN 网站:

()

要下载 .NET Framework 所有版本的可再分发包以及相关 Service Pack,以便随自己的应用程序一同分发,请访问下面的 MSDN 网站:

()

有关您的计算机上安装的 .NET Framework 版本及相关 Service Pack 的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

318785 () 如何确定安装了哪些版本的 .NET Framework 以及是否应用了 Service Pack

本文中提到的第三方产品由 Microsoft 以外的其他公司提供。对于这些产品的性能或可靠性,Microsoft 不作任何暗示保证或其他形式的保证。

Visual Studio的部分组件只能安装在C盘,因为那些都是系统支持文件,如果能自己选择安装路径那软件就全部乱套了,可以把VS的主程序装到其它盘,如果C盘不够大,那么只能吸取教训,以后C盘稍微大一些,不只VS,很多软件即使不安装在C盘,也会有一些文件写入C盘的,不像重装系统可以通过一些磁盘管理软件修改C盘大小。

扩展资料:

一、VS简介

Microsoft Visual Studio是VS的全称。VS是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.Net Core、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。

二、发展历程

1997年,微软发布了 Visual Studio 97。包含有面向 Windows 开发使用的Visual Basic 5.0、Visual C++ 5.0,面向Java开发的Visual J++和面向数据库开发的 Visual FoxPro,还包含有创建 DHTML (Dynamic HTML) 所需要的 Visual InterDev。

其中,Visual Basic 和 Visual FoxPro 使用单独的开发环境,其他的开发语言使用统一的开发环境。

1998 年,微软发布了 Visual Studio 6.0。所有开发语言的开发环境版本均升至 6.0。这也是 Visual Basic 最后一次发布,从下一个版本 (7.0) 开始,Microsoft Basic 进化成了一种新的面向对象的语言:Microsoft Basic .NET 2002。

由于微软公司对于 Sun 公司 Java 语言扩充导致与 Java虚拟机不兼容被 Sun 告上法庭,微软在后续的 Visual Studio 中不再包括面向 Java 虚拟机的开发环境。

2002 年,随着 .NET 口号的提出与 Windows XP/Office XP 的发布,微软发布了 Visual Studio .NET(内部版本号为 7.0)。在这个版本的 Visual Studio 中,微软剥离了 Visual FoxPro 作为一个单独的开发环境以 Visual FoxPro 7.0 单独销售,同时取消了 Visual InterDev。

与此同时,微软引入了建立在 .NET 框架上(版本1.0)的托管代码机制以及一门新的语言C#(读作 C Sharp)。C# 是一门建立在C++和 Java 基础上的现代语言,是编写 .NET 框架的语言。

.NET的通用语言框架机制(Common Language Runtime, CLR),其目的是在同一个项目中支持不同的语言所开发的组件。所有 CLR 支持的代码都会被解释成为 CLR 可执行的机器代码然后运行。

.NET控件是指以输入或操作数据的对象。.NET控件是.NET平台下对数据和方法的封装。有自己的属性和方法。属性是控件数据的简单访问者。方法则是控件的一些简单而可见的功能。

过去,开发人员将 C/C++ 与 Microsoft 基础类 (MFC) 或应用程序快速开发 (RAD) 环境(如 Microsoft ® Visual Basic™)一起使用来创建这样的应用程序。.NET Framework 将这些现有产品的特点合并到了单个且一致的开发环境中,该环境大大简化了客户端应用程序的开发。

包含在 .NET Framework 中的 Windows 窗体类旨在用于 GUI 开发。您可以轻松创建具有适应多变的商业需求所需的灵活性的命令窗口、按钮、菜单、工具栏和其他屏幕元素。

参考资料来源:百度百科-VS