`
isiqi
  • 浏览: 16356557 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

.NET Framework概述

阅读更多

.NET框架是针对开发者提出的一个概念,开发者在进行开发时,要利用开发工具编写源代码,编译后将程序部署到客户端,让它运行,这是一整套开发过程。传统的开发过程可以使用VBVC等不同的开发工具,但在.NET框架下,可以统一开发过程, .NET框架包含两个部分:公共语言运行库和类库。公共语言运行库的概念和Java虚拟机相似,是一个虚拟的运行环境,开发的应用程序都在这个运行库上运行;另一部分是类库,类库支持开发者的功能和系统调用,所以,在类库的支持下,才能开发在公共语言运行库上运行的应用程序。下面从左到右来看这幅图,在.NET框架的支持下,可以利用各种不同的编程语言来开发应用程序,这些编程语言最终产生的程序的内在都是一样的,它们的源代码会被统一地编译成微软中间代码,它是一种专门在虚拟平台上运行的代码,类似于JavaBytecode字节码。中间代码在公共语言运行库的支持下运行,如果虚拟代码要在x86CPU上运行,就必须转换成机器码,那么公共语言运行库有这样的机制,帮助我们在运行的时候把中间代码(MSIL Code)转换成本地代码,这样本地代码就能在操作系统和计算机上运行。所以,.NET框架是开发者最需要关注的部分,应用程序的开发都是针对.NET框架的,应用程序也需要在.NET框架的支持下才能运行。对于开发者来说,所要学习和掌握的主要就是.NET框架,要了解如何使用一种编程语言(VB .NETC#)在.NET框架上开发应用程序。

首先明确的是.NET框架提供了帮助开发应用程序的类库集。但 .NET 框架不仅仅是一种类库集。.NET 框架是创建、部署和运行 Web 服务及其他应用程序的一个环境.NET框架由如下几个部分组成。

位于.NET框架最底层的结构是WINDOWS APICOM+服务。WINDOWS API是操作系统提供的一个很大的服务中心。调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程序达到开启视窗、描绘图形、使用周边设备等目的。COM+是一种组件标准。COM+紧紧地与操作系统结合起来,通过系统服务为应用程序提供全面的服务。WINDOWS APICOM+服务,这里简单了解一下即可。.NET框架建立在这个基础上以后,从而使基于.NET框架开发的应用程序,可以充分利用系统提供的功能和资源。

公共语言运行库主要是指对应用程序代码的管理,同时提供应用程序代码所需要的基本服务,例如内存管理、垃圾收集、结构化异常处理和多线程。同时也加强严格的类型安全和促进代码正确来确保程序的安全性和健壮性。为应用程序编写代码的时候,如果代码是针对公共语言运行库的,则认为是可管理的代码,否则将被认为是不可管理的代码。

.NET Framework类库是由基本数据类型和 .NET 核心功能类组成。基本数据类型包括数值类型、日期类型、字符串类型、数组和集合等等。.NET 核心功能类则提供了文件输入/输出、线程、序列化和安全性等等这些方面的开发支持。

数据层是由用来访问数据相关的类而组成的。与数据访问相关的部分通常被称为 ADO.NETADO.NET就是ADO (ActiveX Data Object) .NET 中相对应的技术。XML层是由操作XML的相关的类而组成的。XML 可以理解成一种文件格式,.NET 用它来存储几乎所有类型的信息。

ASP.NET 既包含了用于生成Web界面的类,也包含了XML Web services,为Web应用程序开发提供支持。Windows窗体则包含了用于生成Windows界面的类。这些类的具体细节部分在后续章节有相关知识的介绍。

Microsoft 提供了下列语言:
Visual Basic.NETC#Managed C++ JScript。除了这些语言,其他语言(包括 Perl, COBOL, Smalltalk, Eiffel, Python, Pascal APL等)也正朝着与.NET平台兼容的方向发展。.NET 框架与编程语言无关。事实上任何语言都可以支持 .NET 框架。

公共语言运行库,这是.NET框架中比较核心的部分,虽然开发者只需掌握类库的内容,但是也需要了解公共语言运行库中的一些内容。

<!--[if !supportLists]-->l <!--[endif]-->类加载器

公共语言运行库分成很多部分,最底层是类加载器,它的作用是调入应用程序,调入代码并执行。

<!--[if !supportLists]-->l <!--[endif]-->Microsoft中间语言(MSIL) 到本机代码编译器

MSIL到本地代码的编译器,前面讲过MSIL是不能直接运行的,要运行程序,就必须通过这个编译器进行实时编译。

<!--[if !supportLists]-->l <!--[endif]-->垃圾回收

垃圾回收器,和Java类似,.NET语言支持垃圾回收功能,只需要通过指令去分配内存,不需要像C++那样删除内存块,内存回收是自动完成的。它的好处是开发简便而且不易出错。

<!--[if !supportLists]-->l <!--[endif]-->线程支持和异常管理器

多线程编程和异常是现代编程语言所必备的特性,.NET对线程和异常的支持是比较独特的,.NET支持在公共语言运行库这一层次上的实现,它的好处是,使用任何编程语言都可以用相同的方式使用多线程,实现异常的抛出,捕获和管理。由于异常管理操作的层次在公共语言运行库上层次比较低,因此在多语言交互的时候,例如同时使用VBC#编程,可以在VB中捕获C#抛出的异常。这一功能对于公共语言运行库是非常重要的,要支持多种语言,就必须在底层实现每个语言所共有的特性。

<!--[if !supportLists]-->l <!--[endif]-->类型检查器

类型检查器的用途是保证系统的类型安全性和程序运行时候的类型安全性,以避免传统编程语言里类型转换出错导致的程序停止运行或者产生漏洞被别人利用,比如,在C语言里,经常会发生安全性问题如缓冲区溢出,在使用内存时,没有注意内存的界限,把数据复制到合法内存区域之外,从而导致错误甚至被恶意代码攻击利用。在.NET中不可能出现这种情况,对任何不属于程序的内存的访问都会被类型检查器所截获,所禁止。在语言的底层就有这样的机制保证类型是安全的。

<!--[if !supportLists]-->l <!--[endif]-->安全引擎

安全引擎是在更高的层次上保证安全性,主要包含两个部分:代码访问安全性和基于角色的安全性。代码访问安全性是根据应用程序的数字签名、下载地址和开发商来决定应用程序在系统中具有什么权限,能访问什么资源,这就避免了以前仅仅通过Windows系统登录账户,根据账户来决定运行程序的权限,如果是Administrator管理员身份,那么所运行的程序能访问所有系统资源,这就有可能造成安全隐患,有了安全引擎的代码访问安全性,就能指定从不知名的站点下载的应用程序仅仅具有有限的权限,这样就能防止安全性漏洞,基于角色的安全性多用于应用程序编程,可以把用户身份映射到一个角色上,根据角色(用户组)来赋予权限,这对编程来说是很大的便利。

<!--[if !supportLists]-->l <!--[endif]-->COM 封送拆收器

COM封送拆收器的用途是和COM进行交互,在.NET之前,微软的主要组件模型和编程技术是COM组件对象模型。COM.NET都是编程对象模型,只是它们的描述机制和协议是有区别的。微软在推出.NET后又不可能放弃对COM的支持,因此.NET必须能够兼容COM,通过这个部件完成.NETCOMCOM.NET的数据转换,有了这个部件.NET运行环境就能和COM进行交互。

<!--[if !supportLists]-->l <!--[endif]-->调试器

调试器对于一般开发者来说也是很少用到的,只有当开发、调试.NET应用程序工具的时候才会用到。它是基于COM结构的,所以通常来说在编程时不会用到。

<!--[if !supportLists]-->l <!--[endif]-->.NET Framework 类库支持

.NET Framework 类库支持位于公共语言运行库最上层的结构,它是和.NET Framework类库交互的部分。

.NET Framework类库的功能远远要比一般的类库,如C语言,要强大和全面,因此,像.NETJava这样的开发环境优点在于,不仅提供很好的虚拟执行环境和虚拟机机制,而且在这个虚拟机平台之上,还构建了一个非常全面地用于商业应用程序开发的类库,这个类库非常庞大,里面包括很多的类可以使用,功能都来自这里。

1)跨越所有的编程语言

.NET有很多种编程语言,.NET类库支持所有的编程语言,而且它支持跨语言的继承和调试,所谓跨语言的继承,比如我们可以在C#里面继承一个VB定义的跨语言的调试,使用一段VB.NET编写的代码,这样在C#程序里可以一样调试VB程序。

2)面向对象、有条理

这个类库的组织是以面向对象的方式进行组织的。类库通过一系列的命名空间进行分割,结构非常清晰,因此我们在学习和使用起来也会非常简单。

3)拥有内置的通用类型系统

内置的通用类型系统(CTS),所有的编程语言都要适应这个公共类型系统,才能够实现多语言编程。因此学习.NET类库的重点就是通用类型系统,了解类型系统有哪些元素,类型系统里特殊的地方,这些是.NET类库的基础,是我们特别要注意的地方。

4)可扩展性

.NET Framework类库是可扩展的,也就是说我们可以自定义一些类,向.NET类库中添加自己编写的类库,组织起来也和.NET Framework类库一样,也可以定义我们自己的命名空间,按照面向对象的方式进行划分。因此它是完全可扩展的。

5)安全性

Framework类库设计时就充分考虑到了安全性的需求,它会和公共语言运行环境的安全特性相互配合,我们前面讲过,公共语言运行环境可以提供代码访问安全性和基于角色的安全性等,这些安全性都体现在.NET类库中有相关的类可以实现这一点。这是类库的特点。

分享到:
评论

相关推荐

    Microsoft .NET Framework概述-C#学习(1)

    1. **Microsoft .NET Framework 概述** - .NET Framework不仅仅是一个编程框架,它还是一个生态系统,包含了编译器、库、运行时环境(CLR,Common Language Runtime)以及用于开发和部署应用程序的工具。 - CLR是...

    Microsoft .NET Framework 3.5 Sp1离线安装 (中文清晰版)

    ### Microsoft .NET Framework 3.5 SP1离线安装详解 #### 一、概述 Microsoft .NET Framework 3.5 SP1(以下简称.NET Framework 3.5 SP1)是.NET Framework 3.5的重要更新版本,它包含了大量性能改进、安全性增强...

    .net framework4.7.2安装包

    一、.NET Framework 4.7.2概述 .NET Framework 4.7.2是.NET Framework系列的一个更新版本,它在前代版本的基础上进行了多项改进和增强。此版本旨在提高应用程序的性能、稳定性和安全性,同时也添加了一些新的功能和...

    Accord.NET Framework3.8.2-alpha

    #### Accord.NET Framework概述 Accord.NET Framework是一个全面的数学和统计库集合,专为.NET平台设计,它基于AForge.NET进行了封装和进一步开发。该框架侧重于提供高级机器学习、统计分析以及图像处理等功能。相...

    .net framework学习资料

    一、.NET Framework概述 .NET Framework是由微软推出的一种应用程序框架,它包含了一个运行时环境——Common Language Runtime (CLR) 和一个庞大的类库集合。CLR作为执行引擎,负责代码的编译、垃圾回收、异常处理等...

    en_.net_framework_3.5_service_pack_1_x86_x64_ia64.rar

    1. **.NET Framework概述**:.NET Framework是由微软开发的一个全面的开发平台,它提供了用于构建、部署和运行应用程序和Web服务的基础设施。自2002年首次发布以来,.NET Framework已经经历了多个版本的迭代,3.5是...

    DotNet Framework 4.0 参考手册

    采集微软官方 MSDN 最新数据,收录了“MSDN Library -.NET Framework 4”中除“.NET Framework 类库”以外的其他所有文档,包括: 快速技术查找器 .NET Framework 4 中的新增功能 .NET Framework 概述 .NET ...

    net framework4.2_x64

    1. **.NET Framework概述**:.NET Framework是一个全面、统一的编程模型,由微软公司推出,旨在简化软件开发,提供跨语言互操作性,并支持多种应用程序类型,如Windows桌面应用、Web应用和服务。 2. **版本历史**:...

    基于C#的.NET Framework程序设计

    第1章 Microsoft .NET Framework概述 第2章 托管执行环境的介绍 第3章 使用组件 第4章 部署与版本控制 第5章 通用类型系统 第6章 类型的使用 第7章 字符串、数组和集合 第8章 委托和事件 第9章 内存和资源管理 第...

    .NET Framework 3.5 SP1完整离线安装包下载地址与制作

    .NET Framework 3.5 SP1是Microsoft推出的一个重要的.NET Framework版本更新,它包含了.NET Framework 2.0 SP2和.NET Framework 3.0 SP2的所有功能,并在其基础上进行了增强和改进。在某些情况下,特别是对于没有...

    ASP.NET Framework深度历险

    一、ASP.NET Framework概述 ASP.NET Framework是.NET Framework的一部分,它包含了ASP.NET MVC、ASP.NET Web Forms、ASP.NET Core等多种Web开发模型。这些模型各自有着不同的设计哲学和应用场景,满足了不同类型的...

    .Net Framework 4.6.2 在线安装包

    1. .Net Framework概述 .Net Framework由公共语言运行库(Common Language Runtime, CLR)和类库两大部分组成。CLR是.NET应用程序的基础,负责执行代码、管理内存、提供异常处理以及确保代码安全。类库则包含了大量...

    .net framework 4.5.2 64位

    1. **框架概述**:.NET Framework 包括了公共语言运行库(Common Language Runtime, CLR)和类库,这两部分构成了开发人员编写应用程序的基础。CLR是.NET的核心,它负责应用程序的执行、内存管理、类型安全以及异常...

    Microsoft .NET Framework 2.0 - Application Development Foundation (70-536) Mega Guide

    1. **.NET Framework概述** .NET Framework是微软开发的一个软件框架,它提供了运行托管代码所需的基础结构,包括公共语言运行时(CLR)和类库。CLR是.NET Framework的心脏,负责内存管理、异常处理、代码安全性和...

    Microsoft .Net Framework-Application Development Foundation(Second Edition)

    #### .NET Framework 3.5概述 .NET Framework 3.5 是一个由微软开发的应用程序框架,它扩展了早期版本的功能,引入了一系列新的技术和改进。此版本包含了.NET Framework 2.0、3.0的所有功能,并增加了重要的新组件...

    .net 2.0 环境安装包

    1. .NET Framework概述: .NET Framework 2.0是.NET Framework系列的第二个主要版本,发布于2005年。这个版本引入了许多新特性,如改进的垃圾收集机制、增强的代码调试工具、新的语言集成查询(LINQ)功能预览...

    .NET Framework x.x版本 每个版本的详细介绍

    .NET Framework 是微软开发的一个软件框架,它为开发者提供了一个用于构建、部署和运行应用程序的统一平台。本文将详细概述从1.1到4.0版本的主要改进和新增特性。 一、.NET Framework 1.1 版本 .NET Framework 1.1 ...

    .NET Framework重装或修复的方法

    ### .NET Framework重装或修复的方法 #### 一、概述 .NET Framework是Microsoft推出的一款用于构建和运行应用程序的软件框架,广泛应用于Windows平台上的各种应用开发。随着时间的推移,由于系统更新、软件冲突等...

Global site tag (gtag.js) - Google Analytics