.NET平台那些事

平常经常提到.NET平台,Java平台。但是要具体说点东西出来,好像又不甚了解。今天特意找了一本书看了一下,做一个小小的总结。

新一代网络计算模式的技术特征是:WWW+HTTP+JAVA,由这3项技术支持的网络计算具备两个要素:

  • 开发的软构件随处可移,是平台无关的。
  • 有一个统一表达、描述信息的标准协议,解决异构系统间的通信问题,实现真正的网络计算。

微软公司在20006月发布了下一代网络计划(NGWS)——Microsoft .NET。这为开发商进行网络计算应用提供了两个强有力的技术支持,即上述的两个要求(.NET虚拟机和C#语言)。

 

.NET平台由5个部分组成:

  • Windows.NET:即可运行.NET程序的操作系统。
  • .NET Enterprise Servers: 这是微软公司推出的进行企业集成和管理所有基于web的各种服务器应用的系列产品。
  • .NET Framework: 这是.NET的核心部分,提供了建立和运行.NET应用程序所需要的编辑、编译等核心服务。
  • Visual Studio .NET:不用多说了吧,就是IDE可视化集成开发环境。
  • .NET Web服务构件:要保证.NET能够正常运行,需要提供一些公用性Web服务,包括身份认证、发送信息、个性化服务、系统化存储、日历、目录等。.NET Web服务构件可以从任何支持SOAP的平台上访问。

 

接下来着重介绍.NETFramework

.NET Framework实际上是运行在windows系列操作系统上的一个系统应用程序。采用一种全新的网络计算机模式,通过标准的Internet协议如XMLSOAP等,解决了异构平台上的分布式松耦合计算问题。

.NET Framework包括以下组件:

  • 公共语言运行时(CLR
  • 基础类库(BCL
  • 数据库访问组件(ADO.NETXML
  • 基于ASP.NET编程框架的网络服务(Web Service)和网络表单(Web Form
  • windows桌面应用界面编程组件(WinForm

CLR:公共语言运行时是.NET框架的最底层,是一个软件引擎,用于加载应用程序、检查错误、进行安全许可认证、执行和清空内存。运行时分为3种:纯静态环境(如Fortran)、基于堆栈环境(如CC++Pascal)和纯动态环境(如SmallTalkJava)。CLR是属于纯动态运行时的一种,它的主要组成部分是虚拟执行引擎VEEVirtual Execution Enging)。

CTS:公共类型系统,为了实现语言的互用性,采用标准化数据类型和标准化应用程序格式。标准化应用程序格式是指,.NET拥有自己的(微软中间语言)MSIL、元数据和清单的汇编。所有的.NET语言的编译器都生成这种格式。通过从元数据中提取出有关的MSIL的信息,编译器、调试器和协调器等工具可以分析处理任何一种源程序设计语言的数据。

CLR工作原理:写了很多,不如来一张图轻松一下。


源代码可以使用多种语言编写,然后用.NET编译器编译此代码,编译器输出的不是可执行代码,而是一种特殊的伪代码,这些伪代码被称为MSIL代码,他就是应用程序的汇编文件。

为了加载一个应用程序,CLR使用汇编的清单确定应用程序所需要汇编的正确版本。然后CLR检查应用程序的全部汇编。当需要运行程序时,CLR的即时编译器JIT再把相应的MSIL翻译为可执行代码。

CLR可以监控翻译代码的运行,并且定期清空应用程序释放的内存(使用GC机制)。

 

什么是元数据?

元数据就是“数据的数据”,它包括对CLR保存的每个元素的描述信息。这些元素包括汇编、类型、方法、属性、执行引擎以及另一个组件的调用数据等。运行时利用这些信息进行操作,如调试和垃圾回收。

 

托管与非托管代码?

.NET的托管代码是指符合CLR运行规范,能受控于CLR下的内存管理、线程管理、远程管理、代码强制安全类型的代码。非托管代码指对内存、文件、数据库等非托管资源进行操作的代码,它们通常不受控于CLR的代码管理规范,是不安全代码。

 

暂时就到这里吧,基本已经涵盖了.NET平台的工作机制了。各位码友,欢迎一起交流。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值