浅谈ASP与ASP.NET之比较

时间:2022-10-19 07:46:45

作者:王立新 谢梓荣 宋翠燕

[摘要] asp与是目前较为流行的两种基于internet的开发工具, 是在asp基础上推出的,但它采用全新的技术架构,使得具有更好的性能,更好的语言特性,更易于开发,更强大的ide支持,更易于配置管理,更易于扩展,更加安全。本文从脚本语言、文件的执行过程、数据库访问三方面对这两种语言进行分析比较。?[关键词] 技术架构 执行过程 分析比较

一、引言

web应用是目前internet上应用最广泛信息服务, web服务已经影响到广告、新闻、电子商务等各个服务领域。asp和是web开发领域比较流行的开发平台。asp (active server pages)是微软公司推出的一种取代cgi(common gateway interface)的技术。它是位于服务器端的脚本运行环境,通过这种环境,它可与数据库和其它程序进行交互,是一种简单、方便的编程工具。用户可以使用vbscript或javascript脚本程序代码创建动态的、交互式的web应用程序,应用html表单收集和处理信息、上传与下载文件等。在asp的基础上,微软公司推出了,它不是asp的简单升级,它不仅吸收了asp技术的优点并改正了asp中的某些错误,更重要的是,它借鉴了java, vb语言的开发优势,从而成为microsoft推出的新一代active server pages。是微软发展的新的体系结构.net的一部分,其中全新的技术架构会让每个人的编程工作变得更简单。

二、脚本语言比较

asp只支持解释型语言,包括vbscript和javascript,当用户发出请求后,无论是第几次,asp的页面都被动态解释执行。支持编译型语言,包括、c#、vc + + .net、j #.net,同时支持面向对象程序设计,包括封装、继承、多态性等特点。理论上, 页面第一次执行时的效率会比较慢一点,因为要编译页面,但第二次及之后执行时的效率就会比同样功能的asp页面快,大约快250% ,除非你又修改过页面,导致要重新编译,那就另当别论。

三、文件的组成与执行过程

一个asp文件含有4个部分,即html标记、vbscript脚本(或javascript脚本)、asp脚本、# include命令,前两部分在客户端执行,后两部分在服务器端执行。当客户机访问服务器的一个asp网页时,服务器就执行该页面的asp脚本、# include命令,然后将执行结果连同html标记、vbscript脚本(或javascript脚本)送往客户端。一个文件由可视化组件与实现逻辑两部分组成。可视化组件指所有的html标记和服务器控件两部分。服务器控件包括html控件、web控件、验证控件、用户控件。实现逻辑指用于处理页面的代码,包括指令、代码声明块、内联代码块、# include命令、javascript脚本五部分。其中html标记、javascript脚本在客户端执行,其余五部分在服务器端执行。

当用户单击[确定]按钮时,将做五件事:①在客户端执行验证控件;②执行本页面的用户界面部分(考虑控件的视图状态);③将客户端各控件(含html控件、web控件)的value、text、checked或postfile值上传到服务器;④执行page_ load ( )函数;⑤在服务器端执行。

四、数据库访问

asp页面访问数据库的接口(组件)是:ado, ado最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹小。ado组件包含7个对象, ado使用“连接定向传输模式”访问数据库,当用户要求访问数据库时,必须经过冗长的连接操作,而且ado会锁定数据源,其他人无法同时访问数据源,数据源是数据库的一部分或全部。connection对象负责创建asp页面与数据库的连接。只有先建立connection对象,才可以使用recordset对象或command对象对所连接的数据库进行插入、删除、更新和查询等操作。页面访问数据库的接口是:ado1net, ado1net分成两部分: dataset对象和1netframework数据提供程序。后者包括connection、command、datareader和dataadapter对象。dataset对象是的核心,它使用“无连接传输模式”访问数据库,当用户要求访问数据库时,无须经过冗长的连接操作,只需将数据源读入dataset对象的相关表中,然后对dataset对象的指定表进行插入、删除、修改等操作。每个用户都拥有专属的dataset对象,因此,用户就不需要争夺数据源。这种断开式模型可以大大提高应用程序的效率,并能处理更多负载。

有两种访问数据库的方式:

第一种:使用datareader对象读取数据库,其步骤为:

①创建连接对象;

②创建命令对象;

③执行命令对象指定的select语句,并返回记录集;

④使用datareader对象读取记录集。

第二种:使用dataset对象访问数据库,其步骤为:

①创建连接对象;

②创建数据集对象和适配器对象;

③将适配器对象的查询结果置入数据集的某个表中;

④对数据集中的指定表进行插入、删除、修改操作;

⑤用数据集的指定表去更新适配器对象指定的数据表。

五、的主要优点

可完全利用.net架构的强大,安全,高效的平台特性。是运行在服务器后端编译后的普通语言运行时代码,运行时早绑定(early binding),即时编译,本地优化,缓存服务,零安装配置,基于运行时代码受管与验证的安全机制等都为带来卓越的性能。对xml,soap,wsdl等internet标准的强健支持为在异构网络里提供了强大的扩展性。

六、结束语

虽然与asp几乎完全不同,但一个网站可以同时包含asp网页和网页,如果你想将asp文件改为aspx文件,只要将asp脚本中的vbscript语句改为c#语句即可。不过,如果你想充分享有的效率与优点,那么建议你将html标记改为web控件。??

参考文献:?

[1]陈惠贞,陈俊荣. 程序设计[m ].北京:中国铁道出版社, 2004.

[2]徐谡应用与开发案例教程[m].北京:清华大学出版社,2005.

[3]张锦祥. web网站设计[m ].北京:科学出版社, 2005.?

上一篇:谈计算机网络中IP拥塞控制算法以及改进 下一篇:主题数据平台