首页 > 代码库 > .NET框架

.NET框架

        近期学习.NET理解起来比較费劲,视频看得云里雾里。不怕不知道,就怕不知道。

通过查资料。搜集到一些有助于理解.NET框架的资料,在此和大家分享一下。先有个大致的了解,今后我们会慢慢领会。

       .NET框架(.NETFramework) 是由微软开发,一个致力于敏捷软件开发、高速应用开发、平台无关性和网络透明化的软件开发平台。它是一个多语言组件开发和执行环境,提供了一个跨语言的统一编程环境。

.NET框架的目的是便于开发者更easy地建立Web应用程序和Web服务。使得Internet上的各应用程序之间。能够使用Web服务进行沟通。

从层次结构来看。.NET框架主要由两部分组成:公共语言执行时(CLR)和.NET框架类库(BCL,下图中蓝色部分).

技术分享

一、CLR

       CLR.NET框架的执行期间环境。CLR向与其兼容的语言提供了一套通用服务,如异常处理、安全性、调试等。

在程序的运行过程中,CLR控制代码与操作系统的交互,由CLR运行的代码称为可控代码。相反。不是由CLR运行的代码称为不可控代码。可控代码通过向CLR提供元数据而与CLR“协作”。

CLR向代码提供服务,如垃圾收集和内存管理。与可控代码不同,不可控代码能够绕过.NET框架API函数,直接调用操作系统的API函数。

       在编译过程中。CLR把代码转换为MSIL(微软中间语言)。MSIL是一套独立于CPU的指令。

MSIL包括用于载人、存储、初始化和调用方法的指令,还包括有关算术和逻辑操作以及异常处理的指令。编译除MSIL之外的不论什么代码时,元数据与被编译代码一起创建和存储。

元数据包括有关代码中成员、类型和引用的信息。CLR使用元数据定位并加载类,创建机器码,对代码进行安全检查,并运行代码。这样。编译代码后。已编译文件里便包括MSIL和元数据。

包括MSIL和元数据的文件称为PE(可移植运行体)文件。在程序运行前,CLR的JIT编译器调用元数据,并将PE文件里的MSIL转换为机器码。由于机器码依赖于CPU,MSIL不依赖CPU,所以CLR提供了不同的JIT编译器,而且每一个编译器都在不同的体系结构中使用。这意味着,依据用于编译MSIL的JIT编译器。同一MSIL能够在不同的体系结构中被运行。

       在管理代码期间,CLR也执行各种任务,如内存管理、代码安全性检查、线程、校验和编译代码。比如。应用程序执行期间,CLR分配内存,管理线程和进程,并实施安全策略。

       CLR定义了通用类型库(CTS),CTS是支持CLR的全部语言使用的标准类型库。CTS列出了CLR支持的类型。有类、接口、数值类型和托付。

由于数据类型在全部语言中会被相同的处理,所以我们能够把变量从一种CLR兼容的语言创建的类传递给还有一个类。而不用理会定义变量时所使用的是哪种编程语言。

二、.NET框架类库

       .NET框架类库包含多个重用的、面向对象的、可扩展的类。它与CLR集成在一起,对于Visual Studio.NET中的全部编程语言都是通用的。

      .NET框架中的类按层次进行组织,system命名空间在层次的顶端,并包括全部其它类。

主要有:转换数据类型,处理參数,调用本地和远程程序。管理应用程序环境。

三、.NET框架的基本特征

       .NET框架具有跨语言使用的基本功能,提供了一个集成的调试器,能够调试多种语言一块编写的程序。

不仅能够在程序执行期间调试,还能够执行远程调试。通过代码訪问安全性和基于角色的安全性。.net框架为应用程序引入了新的安全机制。


       我们如今已经学了好几种编程语言了,也可以做出一个小系统来,这些仅仅是浅层的东西。我们编写的代码究竟是怎样在系统中运转的,这些深层的东西就须要今后的不懈努力了。书山有路。学海无涯。。




.NET框架