ASP.NET与ASP的差异 2013年03月14日

ASP.NET与ASP的差异

目前,ASP.NET技术被广泛运用于 创建网页或者是Web服务。很多人都习惯性的将ASP.NET当做是一种编程语言,但实际上ASP.NET是由.NET Framework提供的一种开发平台,而并非编程语言。

什么是ASP

ASP当然也可以说是ASP.NET的前世。它是Microsfot公司1996年11月推出的WEB应用程序开发技术,它不是一种程序语言,也不是一种开发工具,而是一种技术框架。它能够产生和执行动态、交互式、高效率的站占服务器的应用程序。并且能够将VBscript、javascript等脚本语言嵌入到HTML中,无需编译,便可以在服务器端直接执行。
 
通常我们通过普通的文本编辑器就可以编写,如记事本。这主要得益于ASP所使用的脚本语言是在服务器上而不是客户端运行,用户端的浏览器不需要提供任何别的支持。从这方面来说ASP大大提高了用户和服务器端的交互。
 
不过由于ASP采用的是脚本语言混合HTML的编程,这就导致了在代码管理上变得十分困难。特别是对于大型的,复杂程序,就很难弄清楚代码之间的逻辑关系。从而造成多种问题的出现。同时,由于混合了HTML,如果页面需要作出调整修改,那么程序的变动就会非常大,不利于代码重用。

什么是ASP.NET

我们通常将ASP.NET看作是ASP网页技术的改进和升级。但是ASP.NET并不是ASP的简单升级,它摆脱了以前ASP使用脚本语言来编程的缺点,成为了全新一代的动态网页实现系统。正如名字一样ASP.NET可以说是ASP和.NET技术的完美结合,提供了网页处理、扩充以及HTTP通道以及通讯处理等。
 
当然也有人将ASP.NET认为是.NET的一种组件,使用任何一种.NET编程语言:如,C#,都可以调用该组件来进行网页和web服务的搭建。微软耗时三年从底层重写了 ASP.NET,而 ASP.NET 无法完全向后兼容 ASP 3.0。这也可以算是ASP.NET和ASP之间一个很大的差异。

ASP.NET和ASP的差异

运行框架不同

相信很多人道目前为止还是对于ASP.NET和ASP有混淆,或者说是人为二者就是一样的。事实上不然,ASP.NET和ASP首先从框架上来说就有很大的差别。ASP是一个解释性的框架,而ASP.NET则是一个编译性的框架。

ASP.NET 拥有更好的语言支持

由于ASP.NET是一个基于.NET的已编译的环境,这样程序在服务器端首次运行的时候就会进行编译,比ASP即时编译快上许多。凡是与.NET兼容的语言如:VB.NET、C#、Jscript.NET、 C++、F++等都可以使用。具有更好的语言支持性能。

安全性更强

ASP使用脚本编程,最为人诟病的一点就在于缺乏完善的纠错调试功能。而且ASP产品由于安全性的问题不容易完善解决,所以一旦受到攻击,就很容易造成资料的泄漏。在这一点上,ASP.NET做了很好的改进。首先ASP.NET是一种面向对象的编程语言,具有面向对象语言的一切特性:封装,继承,多态等等。其次ASP.NET目前提供了三种验证方式和两种授权方式。身份验证时为了帮组验证用户是否假冒,而授权则是对已验证身份授予特定的权限限制。这就大大增加了ASP.NET的安全性能。
 
Windows验证:由IIS用户进行验证。
 
窗体验证:开发人员自定义验证逻辑,通过ASP.NET窗体验证工具写入窗体验证数据,授权验证。即我们通常所说的应用程序中创建登录页面管理身份验证。
 
Passport验证:即我们所说的Windows Live ID验证,目前Windows Live ID已被整合到Microsoft Account。是一个由微软开发与提供的"统一登入"服务。
 
文件授权:通过检查ACL(文件访问控制表)来对用户进行访问权限设置。
 
URL授权:由开发人员设置的URL来给予权限。

代码复用性更好

我们上面提到,ASP存在的一大问题就是:将界面设计与程序设计混合在一起,不方便开发者识别程序间的逻辑关系,导致代码可复用性差。在ASP.NET中,我们可以将界面与程序设计以不同的文件分隔开,既方便进行代码维护与管理,同时又可以实现代码的多次复用。
 
如果你对于ASP.NET有兴趣,那么就赶紧动手试一试吧!如何开始ASP.NET。
分享到:
XuNiZhuJiYuMingJiaoCheng
推荐阅读