发展历程

1996年,ASP 1.0(Active Server Pages,即ASP)版本出现了,它引起了Web开发的新革命,降低了动态网页开发的难度。以前开发动态网页需要编写大量繁杂的C代码,编程效率非常低下,而且需要Web网页开发者掌握非常高的编程技巧。而ASP使用简单的脚本语言,能够将代码直接嵌入HTML,使设计Web网页变得简单。

虽然ASP非常简单,但却能够实现非常强大的功能,这一切得益于其组件。特别是ADO组件,使得在网页中访问数据库易如反掌。这一切推动了动态网页的快速发展与建设,同时使ASP得到迅速流行。

1998年,微软公司发布了ASP 2.0,它是作为Windows NT 4 Option Pack的一部分提供的。ASP 2.0与ASP 1.0的主要区别是外部的组件可以初始化,使所有的组件都有了独立的内存空间,并且可以进行事务处理。内置的Microsoft Transaction Sever(MTS)使制作组件变得更容易。

2000年6月,微软公司宣布了自己的.NET框架。.NET框架的基本思想是:把原有的重点从连接到互联网的单一网站或设备转移到计算机、设备和服务群组上,而将互联网本身作为新一代操作系统的基础。这样,用户将能够控制信息的传送方式、时间和内容,从而得到更多的服务。

2001年,ASP.NET浮出水面。ASP.NET是微软公司开发的一种建立在.NET之上Web运行环境,它不是ASP的简单升级,而是新一代的Active Server Pages。ASP.NET是微软公司新体系结构Microsoft.NET的一部分,其中全新的技术架构使编程变得更加简单。借助于ASP.NET,可以创造出内容丰富的、动态的、个性化的Web站点。ASP.NET简单易学、功能强大、应用灵活、扩展性好,可以使用任何.NET兼容语言。

2002年,微软发布.NET正式版本——.NET Framework 1.0,其中的ASP版本就是ASP.NET 1.0,在此以前发布了两个.NET测试版本Beta1和Beta2。

2003年。微软发布了.NET Framework 1.1正式版,其中ASP版本就是ASP.NET 1.1。

2005年,微软发布了.NET Framework 2.0正式版,也就是ASP.NET 2.0。

2008年,ASP.NET 3.5。

也就是说,现有ASP,再有.NET,最后有ASP.NET。三个是完全不同的东西。

.NET(Microsoft.NET)

.net是一种平台,asp.net是运行在该平台下的网络应用程序技术。.net还支持桌面应用程序。其显著特点是要想运行网络应用程序和桌面应用程序,必须在服务器和电脑上安装.net framework公共语言运行环境。.net包括asp.net。

.net的运行机制:

各种语言(C#、F#、j#等对应的源程序)——>经过CLS,CTS第一次编译——>同一规范语言(中间语言)MSIL(.EXE,.DLL)——>JIT第二次编译——>二进制语言——>运行在CPU中

Java的运行机制:

Java——>编译——>字节码文件(.CLASS)——>jvm解释(jvm虚拟机)——>二进制语言——>运行在CPU中

一般所说的.NET指的是.NET框架,即为.Net Framework,它是微软提供的开发平台框架,可以做以下事情:

  • Windows应用程序
  • Web应用程序
  • Web服务

下面列出一些.NET框架的组件:

  • 公共语言运行时(CLR)
  • .NET框架类库
  • 公共语言规范
  • 通用类型系统
  • 元数据和组件
  • Window窗体(Windows Forms)(桌面应用程序框架)
  • ASP.NET和ASP.NET AJAX
  • ADO.NET
  • Windows工作流基础
  • Windows显示基础
  • Windows通信基础
  • LINQ

ASP.NET

asp.net只是.net框架中的一个组成部分,ASP.NET的开发模式,大概又有三种:

  • Web Pages(Web页面)
  • MVC(Model View Controller 模型-视图-控制器)
  • Web Forms(Web窗体)

Web Pages开发模式

Web Pages是开发ASP.NET网站最简单的开发模式。

这种方式特别像PHP或者经典的ASP开发,直接在页面中嵌入代码。

ASP.NET MVC开发模式

MVC是一种使用MVC(模型-视图-控制器)设计创建Web应用程序的模式:

  • Model(模型)表示应用程序核心(比如数据库记录列表)。
  • View(视图)显示数据(数据库记录)。
  • Controller(控制器)处理输入(写入数据库记录)。

MVC模式同时提供了对HTML、CSS和JavaScript的完全控制。

Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。

View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。

Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

MVC分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。

MVC分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。

asp.net的特点:

1、多语言支持

主要表现在所支持的编程语言种类多和单个语言功能强两方面。

首先,ASP.NET为Web应用提供一种类似于Java编译技术的“二次编译技术”——中间语言MSIL执行架构,先将ASP.NET应用编译成MSIL,再将MSIL编译成机器语言执行。这样,只要能被编译成MSIL的编程语言都可以用来编写ASP.NET应用。

其次,ASP.NET所支持的编程语言是指这种语言的功能全集(而不是子集),所以ASP.NET中每种编程语言的功能要比ASP中使用的VBscript和JavaScript更为强大。

2、增强的性能

在ASP.NET中,页面代码是被编译执行的,它利用提前绑定、即时编译、本地优化和缓存服务来提高性能。当第一次请求一个页面时,CLR(公共语言运行时)对页面程序代码和页面自身进行编译,并在高速缓存cache中保存编译结果的副本。当第二次请求该页面时,就直接使用cache中的结果(无需再次编译)。这就大大提高了页面的处理性能。

(CLR:CLR是公共语言运行库,和Java虚拟机一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集等),并保证应用和底层操作系统之间必要的分离。CLR存在两种不同的翻译名称:公共语言运行库和公共语言运行时)

3、类和名空间

ASP.NET包含一整套有用的类和名空间(Namespaces)。名空间被用做一种有组织的机制——一种表示可用于其他程序和应用的程序组件的方法。名空间包含类。和类库一样,名空间可以使Web应用程序的编写变得更加容桂。HtmlAnchor、HtmlContrl以及HtmlForm是ASP.NET中的几个类,它们被包含System.web.UI.HtmlControl空间中。

4、服务器控件

ASP.NET提供了许多功能强大的服务器控件,这大大简化了Web页面的创建任务。这些服务器控件提供从显示、日历、表格到用户输入验证等通用功能,它们自动维护其选择状态,并允许服务器端代码访问和调用其属性、方法和事件。因此,服务器控件提供了一个清晰的编程模式,使得Web应用的开发变得简单、容易。

5、支持Web服务

ASP.NET提供了强大的、标准化的Web服务支持能力,通过使用Internet标准,可以将一个web服务器集成在一起。web服务提供了构建分布式web应用的基本模块。ASP.NET允许使用和创建web服务。

6、更高的安全性

与ASP相比,在支持常规windows身份验证方法的基础上,ASP.NET还提供了Passport和cookie两种不同类型的登录和身份验证方法。同时,ASP.NET还采用了基于角色的安全模式,为不同角色的用户指定不同的安全授权。另一方面,ASP.NET还使得创建基于页面的身份验证工作变得更为简单。

7、良好的可伸缩性

在ASP.NET中,允许使用跨服务器会话,其会话状态可以被另一台及其或另一个数据库上的其他的进程所维护。随着信息处理和传输流量的增加,可以为系统添加更多的Web服务。

8、无Cookie会话

即使在浏览器不允许使用cookie的情况下,ASP.NET仍然能够使用户使用会话状态。与带cookie的会话不同,无cookie会话是通过URL将会话标识传递到ASP.NET页面的。

工作特点:

从使用的角度看,ASP.NET的运行过程包含页面请求、分析、编译、组装、页面缓冲五大环节。当客户端通过浏览器请求页面时,服务器端首先由页面分析器对被请求的页面进行分析;再将通过分析的页面内容传递给编译器;经过编译器编译的页面内容被传输给组装缓存,同时,一些需要较高资源代价的元素可以创建一次后存入内存;将组装缓存和内存中的内容有机结合后形成一个完整页面(包括数据、编译代码、HTML代码等),完整页面最后被送往输出缓存。输出缓存中的内容将作为客户端的页面请求结果被送回浏览器。当同一页面被第二次请求时,服务器端将跳过所有中间环节,直接从输出缓存中送出页面请求结果。

ASP(Active Server Pages)

ASP与ASP.NET区别如下:

(1)开发语言不同:ASP的开发语言仅局限于使用non-type脚本语言,给客户端脚本添加代码和给页面添加ASP代码的方法是一样的。ASP.NET的开发语言更为广泛,可以使用符合.NET Framework或者.NET CORE规范的任何一种功能完善的强类型(strongly-type)编程语言(比如VB、C#)。

(2)运行机制不同:ASP是解释型的编程框架,因没有事先编译,而是一边解释一边执行,故而页面的执行效率相对低。ASP.NET是编译型的编程框架,服务器上运行的是已经编译好的代码,因此可以利用早期绑定来实现实时编译,进而提高执行效率。

(3)运行环境不同:ASP的运行环境是Windows操作系统及IIS。ASP.NET的运行环境除了Windows操作系统及IIS,还需要安装.NET Framework或者.NET CORE。

(4)开发方式不同:ASP将用户界面层和应用程序逻辑层的代码混合写在一起,因此维护和重用方面比较困难。ASP.NET将用户界面层和应用程序逻辑层的代码分离开,程序的复用性和维护性都得到了提高。

(5)诞生时间不同:1996年11月,Microsoft公司推出了ASP(Active Server Pages)技术。2002年01月,Microsoft公司推出了ASP.NET技术。

关于.NET、ASP.NET和ASP相关推荐

  1. [Asp.net MVC]Asp.net MVC5系列——添加数据

    目录 概述 显示添加数据时所用表单 处理HTTP-POST 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列--第一个项目 [Asp.net MVC]Asp.net MVC5系列 ...

  2. ASP+Access中文乱码的解决方法,ASP中文乱码,asp乱码问题

    确保编码声明正确(例:时尚淘女之家http://www.tao36524.com) 如果您使用的是国外空间,默认是西欧而不是GB2312,你可以通过强制为GD2312的方式! 在数据提取页面的第一行代 ...

  3. 1月4日链接篇:ASP.NET, ASP.NET AJAX, ASP.NET MVC, Visual Studio, IIS7

    [原文地址]Jan 4th Links: ASP.NET, ASP.NET AJAX, ASP.NET MVC, Visual Studio, IIS7 [原文发表日期] Friday, Januar ...

  4. ASP 代码给 ASP 页加密码保护

    本任务的内容 概要 创建应用程序 测试应用程序 其他注意事项 疑难解答 参考 概要 本文演示如何编写简单的 Active Server Pages (ASP) 代码来通过登录页对访问进行限制. 本文介 ...

  5. .NET、C#和ASP.NET,ASP.NET MVC 四者之间的区别

    from:http://www.cnblogs.com/wwym/p/5555772.html 经常,会有一些人搞不清楚.NET和c#和ASP.NET这三者之间的关系,她们都是什么呢?他们之间有什么关 ...

  6. ASP.NET与ASP.NET Core用户验证Cookie并存解决方案

    在你将现有的用户登录(Sign In)站点从ASP.NET迁移至ASP.NET Core时,你将面临这样一个问题--如何让ASP.NET与ASP.NET Core用户验证Cookie并存,让ASP.N ...

  7. ASP.NET和ASP的区别?

    ASP.NET和ASP的最大区别在于编程思维的转换以及功能的增强.         ASP使用VB/JS这样的弱类型.面向结构的脚本语言混合html来编程,         而非面向对象,这就明显产生 ...

  8. asp毕业设计——基于asp+access的新闻发布系统设计与实现(毕业论文+程序源码)——新闻发布系统

    基于asp+access的新闻发布系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的新闻发布系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开 ...

  9. asp毕业设计——基于asp+access的学生排课管理系统设计与实现(毕业论文+程序源码)——学生排课管理系统

    基于asp+access的学生排课管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的学生排课管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需 ...

  10. asp毕业设计—— 基于asp+access的网上教学系统设计与实现(毕业论文+程序源码)——网上教学系统

    基于asp+access的网上教学系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的网上教学系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开 ...

最新文章

  1. 大话数据结构书籍及配套源码
  2. 在java的实现栈的插入数据_Java实现数据结构栈stack和队列Queue
  3. CentOS6.3挂载读写NTFS分区
  4. Watch out for these 10 common pitfalls of experienced Java developers architects--转
  5. Mac下安装的MySQL root账号无法登陆用户解决
  6. 算法工程师掌握了这个炼丹技巧的我开始突飞猛进
  7. C语言试题七十一之请编写函数求出这个数的阶乘
  8. [html] H5的Web Storage带来什么好处?
  9. asp.net源码收集
  10. Ant Design Pro在使用TreeSelect树选择组件时,报错未注册
  11. 突发!Intel CEO 换帅,VMware CEO 将走马上任
  12. 交通监控系统服务器配置,监控系统服务器的配置
  13. 查询数据库里所有表名和字段名的语句
  14. 达梦数据库查询表结构
  15. 计算机辅助制图cad论文,cad论文模板
  16. url怎么隐藏html后缀,去除url后缀(.html,.jsp等)的有效方法
  17. 每日一思(2022.5.19)——前无古人后无来者
  18. 上网日志留存_日志留存系统
  19. Java中Object类
  20. Linux 学习笔记 三

热门文章

  1. CSS3如何实现DIV圆角边框
  2. arcmap拓扑错误检查器不亮_ARCGIS拓扑检查步骤与修正拓扑错误技巧
  3. 北大青鸟汉字注释机内码_汉字与机内码相互转换程序
  4. 软件测试证书(1)— 软件评测师
  5. 小甲鱼c语言-P21-指针
  6. 博图多版本共存安装教程 博图V14V15V16V17下载地址
  7. 水经注万能地图下载器功能大全
  8. Android 导入导出excel xls、xlsx
  9. 【APP自动化测试必知必会】Appium之微信小程序自动化测试
  10. linux系统安装gaussview_Linux系统安装Python