.NET Framework学习笔记

原创 2004年08月02日 17:24: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本身有一些基类可以实现反射。

asp.net基础学习笔记

------- Windows Phone 7手机开发、.Net培训、期待与您交流! ------- 1.概论 浏览器-服务器 B/S 浏览的      浏览器和服务器之间的交互,形成上网B/S...
  • oxoxzhu
  • oxoxzhu
  • 2013年03月08日 23:08
  • 3517

你必须知道的.net学习笔记

.net 中类型转换的基本规则如下: 1,任何类型都可以安全的转换为其基本类型,可以由隐士转换来完成。 2,任何类型转换为其派生类型时,必须进行显示转换,转换规则是:(类型名)对象名。 3,使用...
  • u012135077
  • u012135077
  • 2015年09月08日 09:07
  • 306

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

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

.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
  • 42395

Spring.NET学习笔记1——控制反转(基础篇) Level 200

http://www.cnblogs.com/GoodHelper/archive/2009/10/25/Spring_NET_IoC.html 在学习Spring.NET这个控制反转(Io...
  • zunguitiancheng
  • zunguitiancheng
  • 2015年12月06日 11:39
  • 360

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

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

AutoCAD二次开发之.net API学习笔记

1、用户交互
  • liupeng_qwert
  • liupeng_qwert
  • 2015年05月07日 10:07
  • 425

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

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

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

C#语言    C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders H...
  • xjc1278003262
  • xjc1278003262
  • 2013年02月23日 19:16
  • 13534
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:.NET Framework学习笔记
举报原因:
原因补充:

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