.NET Framework学习笔记

原创 2004年08月04日 16:54:00
.NET平台主要由5个部分组成:操作系统、.NET企业级服务器产品,.NET Web服务构件(passport)及.NET 框架。
  .NET框架有CLR(Common Language Runtime)和所有.NET支持的语言使用的一个公用类框架-----FCL(Framework Class Library)目前支持20种语言。FCL总共有99个名空间。
  运行时有纯静态环境,纯动态环境,基于堆栈的环境三种。CLR属于纯动态运行的一种。主要组成部分为VEE(Virtual Execution Engine),主要任务是管理和执行由.NET 语言编写的代码。
  CLR的执行过程:首先由类装载程序(Class Loader)找到并装入对象,激活,接着验证程序对其进行类型验证,JIT再将IL编译并转换成本机代码,还可以动态对目标机器进行代码优化,执行代码及所需的其他服务(安全检测,异常处理,高度等)由执行组件负责,还会自动回收无用的对象资源。

     CLI(Common Language Infrastructure公用语言基础结构)主要有CTS(Common Type System),CLS(Common Language Specification公用语言规范)和VES(Virtual Execution System)。
  其中CTS处于核心地位,它是编译器,各种工具,应用程序和 CLI公用的一个统一的类型系统,它使得.NET 平台拥有多种语言集成的性能,也是类型安全的保障,它既可以支持面向对象语言,也可以支持C语言。有两种类型:值类型和引用类型。
  CLS由41条规则和其他规定组成,是CTS的补充,是为了提高库和编写的高级语言的配件级的互操作性。

  托管代码是指用.net framework支持的语言写的代码。.net framework为了让这些代码可以执行,提供了数个核心运行服务,因此这些代码必须向CLR提供最基本的信息,这些信息就叫做“元数据”。在程序中表现为在类前或函数前中括号内的数据。可通过继承System.Attribute来创建自己的元数据特性,如:
[AttributeUsage(AttributeTargets.Class)]
public class InspiredByAttribute:System.Attribute
{
   public string InspiredB;
}
  配件是指一个或多个有main入口的应用程序或库。配件可以引用配件。有私有配件和共享配件。私有配件是在单个应用目录中的,共享配件是存储在全局配件缓存(GAC)中的,可用gacutil -i somedll.dll注册到GAC中成为共享配件。对于共享配件有版本协调,即对共享配件加强版本约束。
版本号由四个数字组成(如:5.5.2.33),如果前两个数字中有任意一个不同的配件,就认为是不兼容的;如果第三个不同,就认为是“可能兼容”;如果第四个不同,就认为是兼容的。这些规则可通过配置文件来指定。
  清单是配件是描述,包括资源,类型和引用。
  垃圾收集由运行时组件负责管理对象生命及其占用堆内存的系统。.NET垃圾收集器工作机制:周期性地遍历当前被引用的对象列表,凡是没被发现的对象,都准备销毁并收回所占用内存。
  
序列化指将对象转换为字节流的过程,反序列化是从字节流构建对象的过程。
        代码访问安全(Code Access Security)
:CAS是.NET安全模型的一个部分,决定某段代码是否允许执行及使用什么资源。可通过caspol -lg来查看机器上的CAS代码组。

例:caspol -ag 1.3 -site www.pconline.com.cn FullTrust   来使用网站完全访问你的机器,不受限制。
      
反射:即通过编程来访问装配件的元数据,因为装配件是自我描述的,即装配件包含了元数据对自身的描述,因此可以通过反射来访问自身的元数据。.NET本身有一些基类可以实现反射。

.NET Framework 各版本介绍和下载链接汇总

一、.NET Framework 版本介绍 自2000年6月22日微软向全球宣布自己的.NET战略,到现在已经十年多了。作为.NET战略的基础,Microsoft .NET Framework ...
  • my98800
  • my98800
  • 2016年03月16日 08:32
  • 2008

.NET Framework详解之内存机制

.NET Framework详解之内存机制:在.NET Framework中,内存中的资源(即所有二进制信息的集合)分为"托管资源"和"非托管资源".托管资源必须接受.NET Framework的CL...
  • xiaoran1985
  • xiaoran1985
  • 2014年03月11日 11:22
  • 618

.NET Framework各版本汇总以及之间的关系

.NET Framework .NET版本 1.0 1.1 2.0 3.0 3.5 4.0 4.5 完整版本 1.0.3705.0 1.1.4322.573 ...
  • kingmax54212008
  • kingmax54212008
  • 2014年05月15日 13:37
  • 42411

搞懂.NET Framework 历史版本(2017年)

最近被.NET平台各种名词、以及各种版本弄得有些疑惑,开发和部署,对于开发平台版本选择是个基本问题,因此,花了些时间,学习汇总了有关.NET版本演进的历史。 .NET简介 这个平台相信我们都知道...
  • MePlusPlus
  • MePlusPlus
  • 2017年08月02日 22:20
  • 1129

.NET Framework 各个版本之间的关系以及下载地址整理汇总

http://www.cnblogs.com/robnetcn/p/3383481.html .NET Framework 各个版本之间的关系以及下载地址   Version...
  • wlanye
  • wlanye
  • 2015年11月24日 15:56
  • 1414

C#与.Net Framework的联系和区别

C#语言    C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders H...
  • xjc1278003262
  • xjc1278003262
  • 2013年02月23日 19:16
  • 13543

.NET Framework各版本操作系统支持

.NET Framework .NET版本 1.0 1.1 2.0 3.0 3.5 4.0 4.5 完整版本 1.0.3705.0 1.1.4322.573 ...
  • wangcs017
  • wangcs017
  • 2013年08月20日 16:15
  • 4485

如何手动删除并重新安装 .NET Framework 2.0

如何手动删除并重新安装 .NET Framework 2.0 本文可能包含一个指向 Windows 安装程序清理实用程序 ...
  • luoye7422
  • luoye7422
  • 2015年04月01日 23:37
  • 4299

如何让.Net 程序脱离.net framework框架运行

Net 框架目前逐步在普及了,仍然有很多人在寻找如何让.NET程序脱离.NET框架的方法。现成的工具有 Xenocode 的postbuidle或者vas,还有 Salamander .NET Lin...
  • demo1573
  • demo1573
  • 2015年09月15日 17:00
  • 658

.NET Framework 各版本区别

.NET Framework 各版本区别 .NET Framework 1.1 自1.0版本以来的改进: 自带了对mobile asp .net控件的支持。这在1.0版本...
  • kasama1953
  • kasama1953
  • 2016年06月27日 08:54
  • 2126
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:.NET Framework学习笔记
举报原因:
原因补充:

(最多只允许输入30个字)