为什么有ASP.NET
最近读了一些文章,总结一下:
在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
为什么有ASP.NET的更多相关文章
- ASP.NET Core 之 Identity 入门(一)
前言 在 ASP.NET Core 中,仍然沿用了 ASP.NET里面的 Identity 组件库,负责对用户的身份进行认证,总体来说的话,没有MVC 5 里面那么复杂,因为在MVC 5里面引入了OW ...
- Asp.Net Mvc 使用WebUploader 多图片上传
来博客园有一个月了,哈哈.在这里学到了很多东西.今天也来试着分享一下学到的东西.希望能和大家做朋友共同进步. 最近由于项目需要上传多张图片,对于我这只菜鸟来说,以前上传图片都是直接拖得控件啊,而且还是 ...
- ASP.NET Core 中的那些认证中间件及一些重要知识点
前言 在读这篇文章之间,建议先看一下我的 ASP.NET Core 之 Identity 入门系列(一,二,三)奠定一下基础. 有关于 Authentication 的知识太广,所以本篇介绍几个在 A ...
- ASP.NET Core应用的错误处理[3]:ExceptionHandlerMiddleware中间件如何呈现“定制化错误页面”
DeveloperExceptionPageMiddleware中间件利用呈现出来的错误页面实现抛出异常和当前请求的详细信息以辅助开发人员更好地进行纠错诊断工作,而ExceptionHandlerMi ...
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库
在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...
- ASP.NET_各个币种之间的汇率转换(实时)使用Yahoo汇率。
近期开发支付平台的时候有运用到各国的实时汇率之间的转换问题,于是在往上找了很多相关资料,以下就是一些参考网址: 1.提供API接口的网站:https://www.showapi.com:这个网站有提供 ...
- ASP.NET Core MVC/WebAPi 模型绑定探索
前言 相信一直关注我的园友都知道,我写的博文都没有特别枯燥理论性的东西,主要是当每开启一门新的技术之旅时,刚开始就直接去看底层实现原理,第一会感觉索然无味,第二也不明白到底为何要这样做,所以只有当你用 ...
- ASP.NET Core应用的错误处理[2]:DeveloperExceptionPageMiddleware中间件如何呈现“开发者异常页面”
在<ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式>中,我们通过几个简单的实例演示了如何呈现一个错误页面,这些错误页面的呈现分别由三个对应的中间件来完成,接下来我们将 ...
- Asp.Net WebApi核心对象解析(下篇)
在接着写Asp.Net WebApi核心对象解析(下篇)之前,还是一如既往的扯扯淡,元旦刚过,整个人还是处于晕的状态,一大早就来处理系统BUG,简直是坑爹(好在没让我元旦赶过来该BUG),队友挖的坑, ...
- Asp.net Core中使用Session
前言 2017年就这么悄无声息的开始了,2017年对我来说又是特别重要的一年. 元旦放假在家写了个Asp.net Core验证码登录, 做demo的过程中遇到两个小问题,第一是在Asp.net Cor ...
随机推荐
- pat 1149 Dangerous Goods Packaging(25 分)
1149 Dangerous Goods Packaging(25 分) When shipping goods with containers, we have to be careful not ...
- opencv 6 图像轮廓与图像分割修复 3 图像的矩,分水岭,图像修补
图像的矩 矩的计算:moments()函数 计算轮廓面积:contourArea()函数 #include "opencv2/highgui/highgui.hpp" #inclu ...
- javescript 的 对象
一,定义:对象是JavaScript的一个基本数据类型,是一种复合值,它将很多值(原始值或者其他对象)聚合在一起,可通过名字(name/作为属性名)访问这些值.即属性的无序集合. 关键是name属性名 ...
- Nethunter开启ssh服务
### 本节用来纪念我和我的Nethunter SSH服务的血泪史 刚安装好Nethunter后,手机的各种功能也是令我眼花缭乱,对手机是爱不释手,可是,手机开启ssh服务之后,电脑无法连接,这就很尴 ...
- windows 10 上源码编译OpenCV并支持CUDA | compile opencv with CUDA support on windows 10
本文首发于个人博客https://kezunlin.me/post/6580691f/,欢迎阅读! compile opencv with CUDA support on windows 10 Ser ...
- Spring框架AOP学习总结(下)
目录 1. AOP 的概述 2. Spring 基于AspectJ 进行 AOP 的开发入门(XML 的方式): 3.Spring 基于AspectJ 进行 AOP 的开发入门(注解的方式): 4.S ...
- 新闻实时分析系统-inux环境准备与设置
1.Linux系统常规设置 1)设置ip地址 项目视频里面直接使用界面修改ip比较方便,如果Linux没有安装操作界面,需要使用命令:vi /etc/sysconfig/network-scripts ...
- 深入浅出Spring(二)
IoC概念 控制反转(Inversion of Control)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题. 它还有一个名字叫做依赖注入(Dependency Injection).Io ...
- 【Android - IPC】之Binder机制简介
参考资料: 1.<Android开发艺术探索>第二章2.3.3 Binder 2.[Android Binder设计与实现-设计篇] 3.[Android Binder机制介绍] 1. 什 ...
- Java工作流引擎-中间件模式代码集成
关键词:工作流快速开发平台 工作流流设计 业务流程管理 asp.net 开源工作流 bpm工作流系统 java工作流主流框架 自定义工作流引擎 表单设计器 流程设计器 前端代码集成步骤 ...