最近读了一些文章,总结一下:

  在1999年,当时微软的windows系统运行的所有的应用程序都是有组件对象模型为根本基础开发的,用vb来处理数据访问和复杂的用户界面,缺点是不能使用函数指针,因为当时的开发环境开发起来很不轻松,所有.net的出现,变得更好了。

  .net 平台由一个类框架和一个clr的虚拟机组成,clr本质上是一个执行环境。clr上的服务有:内存管理,垃圾回收,异常处理,安全,版本管理,调试和分析。跨语言。

clr上层是语言编译器和“托管语言”,托管语言是一种对应编译器的编程语言,编译器能生成il代码供clr执行.

  当时.net提供了c#强大的语言,用类访问底层的windows sdk的很多功能,这些类构建了bcl,随后出现了ado.net wcf wpf,ef,.net framework

  aps.net,1999年秋,新的web框架,aps.net 取代了asp.asp.net框架包含了iis扩展,能够捕捉传入的http请求,通过asp.net的运行时环境处理它们,运行时,找到请求的特定组件,然后为浏览器准备一个http相应包。运行时的环境的结构就像一个管道,请求进入管道,处理完毕之后,相应被写回到输入流中。aps.net提供一个有状态的丶基于事件的编程模型,允许隐含的上下文从一个请求传递到另一个请求。当然这种模型只限于html和javascript。

  webforms设计的主要目标:1:提供一个编程模型,2:将asp.net和iis混合。

  asp.net mvc作为asp.net运行时的一个插件。优点:选择其模型处理传入的请求,容易,快速的建立应用程序,缺点:无法在框架中建立完成的规范的依赖注入基础结构。而且输出只是html。

  webapi出现,owin协议出现,让web框架与web服务器解除耦合的观念。必须托管到iis中,这就需要一个asp.net应用程序。导致内存量增加,以为要使用两个运行时环境。

  更简洁的,net framework ->.net core framework ,.net core framework移除了应用程序域和代码访问安全等,相比优点:开源,可与应用程序一同部署,而完成.net framework 只能安装到目标机器上。能跨平台工作。

  asp.net core

  internet<–>web服务器(iis)(http)<–>内置web服务器(不必要)<->asp.net代码。

  .net core命令行工具cli.实际上,它是由主机工具(驱动程序员)运行的 命令,dotnet.exe

  想要学好,就必须要知道由来和为何出现。才能只能其作用和用途。-。dion esposito