什么是.NET

.NET是为简化在第三代因特网的分布式环境下的应用程序的开发,基于开放互联网标准和协议之上,实现异质语言和平台高度交互性而构建的新一代计算和通信平台。其主要由三部分构成:.NET框架、WEB服务、.NET企业服务器。

首先先了解一下.NET框架的由来和架构,如下图。

下面对.NET的各个部分进行说明:

1. 操作系统(OS)

.NET平台是独立于操作系统,而这些是得益于CIL(也叫MSIL)和CLR的存在

2. .NET框架(Framework)

位于操作系统之上的.NET最重要的基础构架。提供了创建、部署、运行.NET应用的环境。Runtime(运行时)和Services实质上是框架的一部分。

3. 编程语言

CLR的核心功能可由其编译器是面向CLR的所有语言使用,所以选择何种语言开发取决于如何更好地表达自己的意图。

4. 企业服务

5. Building Blocks Service

6. .NET应用(控制台应用程序,脚本和宿主应用程序,WinFrom GUI应用程序,ASP.NET应用程序,WEB Services应用程序,Windows服务程序)

7. .NET体验

.NET平台的优势:跨语言、跨平台、安全、对开放互联网标准和协议的支持

什么是.NET框架

.NET框架具有两个主要组件:公共语言运行时(Common Language Runtime,以下简称CLR)和.NET框架类库(以下简称FCL)。

CLR是.NET框架的核心/基础,在CLI这个国际标准中,叫VES(Virtual Execution System,虚拟执行系统),CLR是VES在.NET平台上的实现,可以将其看做是一个执行时管理代码(程序集)的代理,提供核心服务(如内存管理、线程管理、远程处理等),而且还强制实施严格的类型安全以及可确保安全性和可靠性的其他形式的代码准确性。

FCL是一个综合性面向对象的可重用类型集合,从功能上来看,可以将其划分为三部分:① 最内一层:由BCL(Base Class Library,基类库)的大部分组成,主要作用是对.NET框架、.NET运行时及CIL语言本身进行支持,例如基元类型、集合类型、线程处理、应用程序域、运行时、安全性、互操作等; ②中间一层,包含了对操作系统功能的封装,例如文件系统、网络连接、图形图像、XML操作等; ③ 最外一层,包含各种类型的应用程序,例如Windows Forms、ASP.NET、WPF、WCF、WF等。

.NET 和 .NET框架概览的更多相关文章

  1. Spring Framework 5.0.0.M3中文文档 翻译记录 Part I. Spring框架概览1-2.2

    Part I. Spring框架概览 The Spring Framework is a lightweight solution and a potential one-stop-shop for ...

  2. TinyFrame升级之一:框架概览

    由于之前的TinyFrame多于简单,并且只是说明原理,并无成型的框架出来,所以这次我把之前的知识进行了汇总,然后做出了这一版的TinyFrame框架. 整个框架的结构如下: TinyFrame.Da ...

  3. Java集合源码学习(一)集合框架概览

    >>集合框架 Java集合框架包含了大部分Java开发中用到的数据结构,主要包括List列表.Set集合.Map映射.迭代器(Iterator.Enumeration).工具类(Array ...

  4. Java 7 Fork/Join 并行计算框架概览

    应用程序并行计算遇到的问题 当硬件处理能力不能按摩尔定律垂直发展的时候,选择了水平发展.多核处理器已广泛应用,未来处理器的核心数将进一步发布,甚至达到上百上千的数量.而现在 很多的应用程序在运行在多核 ...

  5. Spring Framework 5.0.0.M3中文文档 翻译记录 Part I. Spring框架概览2.3

    2.3 Usage scenarios 使用场景 The building blocks described previously make Spring a logical choice in ma ...

  6. IOS框架概览

    iOS是执行在iPhone.iPod Touch或iPad上的操作系统,之前叫做iPhone OS,iOS与Mac OS X有共同的基础架构和底层技术.但iOS是依据移动设备的特点而设计的,所以和Ma ...

  7. 微服务框架概览之 Netty

    Netty 是什么 Netty 提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序 Netty 架构图 为什么选择Netty 通过对Netty的分析,我 ...

  8. JDK源码分析(7)之 Reference 框架概览

    对于Reference类大家可能会比较陌生,平时用的也比较少,对他的印象可能仅停在面试的时候查看引用相关的知识点:但在仔细查看源码后发现Reference还是非常实用的,平时我们使用的类都是强引用的, ...

  9. Flutter框架概览

    前言:进入新框架的开发前,有必要整体了解框架设计及特点,对该框架初步认识,此文对Flutter框架进行浅显梳理,以备查阅: Flutter框架   从该架构图可知,Flutter框架可分为Framew ...

随机推荐

  1. C程序设计语言习题(3-5)

    编写函数itob(n,s,b),将整数n转换为以b为底的数,并将转换结果以字符的形式保存到字符串s中.e.g.itob(n,s,16)把整数n格式化为十六进制整数保存在s中. #include< ...

  2. 【BZOJ1294】[SCOI2009]围豆豆Bean 射线法+状压DP+SPFA

    [BZOJ1294][SCOI2009]围豆豆Bean Description Input 第一行两个整数N和M,为矩阵的边长. 第二行一个整数D,为豆子的总个数. 第三行包含D个整数V1到VD,分别 ...

  3. jquery实践

    转:http://www.cnblogs.com/Wayou/p/jquery_best_prictise.html jQuery编程的最佳实践   好像是feedly订阅里看到的文章,读完后觉得非常 ...

  4. python os.path模块用法详解

    abspath 返回一个目录的绝对路径 Return an absolute path. >>> os.path.abspath("/etc/sysconfig/selin ...

  5. 9.7 Django 书单列表页面

    昨天的迭代版本,增加了编辑出版社,编辑列表,增添了返回页面! 具体的看 github : https://github.com/TrueNewBee/pythonDemo 看一下效果图: 整体来说还是 ...

  6. HTML/css之弹性布局

    1.flex 弹性布局 产生的比较晚 目前在移动网页开发中可以使用 而且逐渐成为主流. 在桌面网页开发中,使用的比较少 (主要是桌面浏览器的兼容性问题更加严重) 开启方法: 在容器标签上,加上disp ...

  7. 自动解压vsftpd上传的文件

    rsyslog.conf配置自定义模板 $template ssolog,"%msg%\n"if $programname == 'vsftpd' then ^/bin/auto_ ...

  8. iOS-动画之CoreAnimation框架(转载)

    一.简介 iOS动画主要是指Core Animation框架.官方使用文档地址为:Core Animation Guide.Core Animation是iOS和macOS平台上负责图形渲染与动画的基 ...

  9. 图论——topsort

    今天学习topsort,明天强联通分量.topsort是一种在DAG(有向无环图)中来制定顺序的方法,从入度为0开始一个一个编排顺序直至所有的边都有了顺序(或者形成了环)最后如果图中还剩下元素那一定是 ...

  10. 指定多个pip源

    https://blog.csdn.net/liujiong63/article/details/78795015 Linux环境下创建pip配置文件: vim .pip/pip.conf [glob ...