发展历程
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将用户界面层和应用程序逻辑层的代码分离开,程序的复用性和维护性都得到了提高。文章来源:https://www.toymoban.com/news/detail-478096.html
(5)诞生时间不同:1996年11月,Microsoft公司推出了ASP(Active Server Pages)技术。2002年01月,Microsoft公司推出了ASP.NET技术。文章来源地址https://www.toymoban.com/news/detail-478096.html
到了这里,关于关于.NET、ASP.NET和ASP的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!