LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

ASP与ASP.NET的区别

admin
2015年1月31日 23:34 本文热度 5860

从一开始使用ASP,用户面临的问题就是:如果应用程序要有强大的功能,就需要编写大量的代码,所有的功能都必须用代码来实现。虽然使用一些小技巧可以实现代码的共享,但是仍然存在大量嵌入HTML的代码,难于管理。这还只是一个表面现象。

从更深的层次来研究ASP.NET,会发现ASP.NET与ASP之间的区别主要在于以下几个方面。

(1) 效率

ASP是一个脚本编程环境,只能用VBScript或者JavaScript这样的非模块化语言来编写。当ASP程序完成之后,在每次请求的时候解释执行。这就意味着它在使用其他语言编写的大量组件的时候会遇到困难,并且无法实现对操作系统的底层操作。由于它是解释执行的,所以速度和效率要远远低于编译执行的程序。而ASP.NET则是建立在.NET Framework之上的,它可以使用Visual Basic、C++这样的模块化程序设计语言,并且它在第一次执行时进行了编译,之后的执行不需要重新编译就可以直接运行,所以速度和效率比ASP会提高很多。

(2) 可重用性

在写ASP应用程序的时候,ASP代码和HTML混合在一起。只要有需要,就可以在任意的一个位置插入一段代码来实现特定的功能。这种方法表面上看起来很方便,但在实际的工作中会产生大量繁琐的页面,很难读懂,导致代码维护很困难。虽然可以使用include指令尽量让程序模块化,但是仍然不是一个最终彻底的解决方案。而ASP.NET则可以实现代码和内容的完全分离,使得前面提到的问题迎刃而解。

(3) 代码量

ASP需要对所有的要实现的功能通过编写代码来实现。例如,所有的ASP程序员都遇到过这样的情况:为了保证一个用户数据提交页面的友好性,当用户输入错误的时候会显示错误的位置,并尽量把用户原来的输入在控件中显示出来。这样的一个应用需要程序员编写大量的代码来实现。虽然它实在是一个非常简单的功能,但在其他的应用程序中根本不需要编写这么多的代码就可以实现。在ASP.NET中,程序员会发现只要预先说明,这样的功能ASP.NET就可以自动实现。所以相对来说,要实现同样的功能,使用ASP.NET比使用ASP的代码量要小得多。

……

ASP.NET的优点

通过上面对ASP缺点的介绍,我们可以很容易地理解ASP.NET已经解决了这些问题。事实的确如此,并且ASP.NET所提供的不仅仅是这些。要了解ASP.NET的所有特性,先让我们来看看设计ASP.NET的4个主要目标:

● 使代码更清晰

● 提高可部署性、可伸缩性、安全性以及可靠性

● 为不同的浏览器和设备提供更好的支持

● 支持一种全新的Web应用程序

但是作为用户,您不会直接使用这些新特性,因为Common Language Runtime (CLR)会处理其中的大多数特性。第2章会详细介绍这方面的内容,现在先看看ASP.NET的强大功能。

1. 多语言

ASP曾在脚本引擎方面受到了限制,特别是VBScript和JScript。而.NET Framework本质上就支持多语言,因此我们可以使用任何需要的语言。在默认情况下,Visual Basic .NET、C#和JScript .NET都附带了CLR(它们都是经过编译的),另外还可以使用许多第三方语言,例如Perl、COBOL等。此外,Visual Studio .NET增加了对Visual C++的支持和Java实现(称为 J# .NET)。由于多语言支持是.NET Framework的一部分,因此不论使用何种语言都没有关系。很明显,从用户的观点来看,保持某种程度上的兼容性可能是最好不过的(例如仅仅为了维护),但对于架构而言,语言的使用是没有任何限制的。

多语言支持的作用并不仅仅限于可使用什么语言,同时还在于如何使用这些语言。通过它可以用某种语言编写组件,而用另一种语言来使用(或重用)这些组件。比如用C#编写基于服务器的控件,然后在Visual Basic .NET中继承这些控件,接着在JScript .NET (或任何.NET支持的语言)中继续继承这些控件。

说明:

有关架构的详细介绍请参阅第2章,而第3章将详细介绍各种语言。

2. 服务器处理

如果您做过Visual Basic编程工作,就会发现要掌握新的ASP.NET 服务器控件是相当容易的,但如果以前仅使用过ASP,就会在学习ASP.NET 服务器控件的初始阶段出现一些混淆错误。不过即使这样也不用担心,因为它们是非常容易理解和使用的——它们只是和ASP有很大的不同。

使用ASP的一大问题在于页面简单地定义了一个大函数,该函数开始于页面的开头,结束于页面的末尾。不管页面的内容是纯HTML还是ASP生成的HTML,它都是按照页面顺序显示的。因此,逻辑代码依赖于它在页面中的位置,并且无法将HTML控件作为目标,除非将它们作为流的一部分进行显示。我们所做的任何工作都需要编写代码,包括HTML元素的输出。

而ASP.NET就解决了这个问题,方法是为控件引入一个声明的基于服务器的模型。这对ASP开发人员来说是一个截然不同的概念,因为控件在服务器上声明,可以在服务器上编程,也可以是客户端驱动的事件。这听起来确实不可思议,但使用起来很简单。为把一个普通的HTML控件变成一个服务器控件,只需将runat="server"作为一个特性添加到代码中。例如:

<input id="FirstName" type="text" runat="server" >

这是一个标准的HTML控件,增加了runat特性后,就可以利用服务器端的代码对该控件进行编程了。例如,如果要将该控件置于一个窗体中,并且将该窗体提交回同一个页面中,就可以在服务器端代码中做以下修改:

Dim PersonFirstName As String

PersonFirstName = FirstName.Text

控件在服务器上运行,将允许我们使用ID特性来直接识别它。这样代码就具有更高的可读性,原因在于不必引用窗体的内容或者将这些内容复制到变量中。同时直接引用控件也就更加自然了,从而使页面的开发更加简单。如果您做过Visual Basic或VBA编程工作,对这些概念就不会太陌生。

但是如果您以前只用ASP编写过脚本,理解上述内容就比较吃力,不过这仅仅是因为ASP.NET用不同的方式处理往返于浏览器的页面内容。如果您了解数据库访问技术,就应该使用过对象、调用方法以及设置过属性,而这些与ASP.NET服务器控件并无多大差别。

说明:

第4章将介绍新的服务器处理结构。

3. Web Form控件

将现有的HTML控件转换为服务器端的控件是比较容易的,不过这种方法仍然存在几个问题:

● 一致性:我们仍然不得不接受一些HTML控件的非常不直观的固有特征。例如,有没有一个INPUT标记符用于单行文本项?有没有一个TEXTAREA标识符用于多行文本项?指定行和列的单个控件真的更有意义吗?

● 用户经验:如何轻松地编写站点,向诸如IE这样的浏览器传送丰富的内容,同时保留对低级别浏览器的兼容性呢?HTML是无法根据浏览器改变其内容的,而要达到这个目的,必须编写代码。

● 设备:如何编写站点来应付除浏览器之外的其他设备呢?如今像WAP手机、PDA甚至电冰箱这样的设备都有浏览器。与浏览器问题一样,都必须为其手工编写代码。

为了解决这些问题,Microsoft公司创建了一组服务器控件,它们都用asp:前缀标识。ASP.NET服务器控件通过以下方式来处理上述问题:

● 提供一致的命名标准。例如,所有文本输入栏都由TextBox控件处理。对于不同的模式(如多行文本、密码等),只需指定相应的特性即可。

● 提供一致的属性。所有的服务器控件使用一组一致的属性,这样更便于记忆。例如,TextBox控件中的Text栏比Value栏更加直观。

● 提供一致的事件模型。传统的ASP页面通常有大量用于处理数据传送的代码,特别是当一个页面提供多行命令时,就更是如此。而利用ASP.NET,我们可以为事件过程封装控件,从而给服务器端代码提供更多的结构。

● 发送纯HTML或者HTML与客户端JavaScript。通过一个小异常(这是故意的),服务器控件在默认状态下会发送HTML 3.2,提供很高的跨浏览器兼容性。对其进行修改,使之在默认状态下指向像IE这样的高级浏览器,这样控件就会发送HTML 4.0和DHTML,提供更丰富的界面。此时用户只能看到HTML内容,而看不到服务器控件。

● 发送设备指定的代码。当一个浏览器发出请求时,某个控件会发送HTML,而当WAP手机发出请求时,该控件就会发送WML。该控件还会检测设备并生成正确的标记。


该文章在 2015/1/31 23:34:57 编辑过

全部评论4

admin
2015年1月31日 23:41
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
1、代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
2、代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
3、弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。

那么,ASP.Net有哪些改进呢?
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++ , VB , JS等等,当然,最合适的编程语言还是MS为.Net Frmaework专门推出的C(读c sharp),它可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
ASP(Active Server Pages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。此外,它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
之后,微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。
ASP与ASP.NET的区别:
1.开发语言不同
ASP仅局限于使用non-type脚本语言来开发,用户给WEB页中添加ASP代码的方法与客户端脚本中添加代码的方法相同,导致代码杂乱。
ASP.NET允许用户选择并使用功能完善的strongly-type编程语言,也允许使用潜加巨大的.NET Framework。
2.运行机制不同
ASP是解释运行的编程框架,所以执行效率加较低。
ASP.NET是编译性的编程框架,运行是服务器上的编译好的公共语言运行时库代码,可以利用早期绑定,实施编译来提高效率。
3.开发方式
ASP把界面设计和程序设计混在一起,维护和重用困难。
ASP.NET把界面设计和程序设计以不同的文件分离开,复用性和维护性得到了提高。

ASP.NET更好些

该评论在 2015/1/31 23:43:38 编辑过
admin
2015年1月31日 23:45
asp.net 基于微软的 .net平台呀,,平台里面有大量的类,,直接调用就能实现很复杂的东西,而且现在微软都不推荐asp了,现在微软的网站都改成asp.net的了

打开速度相对来说ASP还是快些,,因为asp直接通过服务器翻译,asp。net的话,,需要先编译成 公共语言,,然后再服务器翻译,,相当于多了一个步骤了
但是。net只在程序第一次执行的时候会慢点,以后执行就差不多了,可以说,速度差距是微乎其微
我就是搞asp的,,现在正努力转向asp。net,,,asp过时了,,工作都不好找了。

该评论在 2015/1/31 23:45:04 编辑过
admin
2015年1月31日 23:46
安全性: asp.net 把html代码和cs代码分开,并把所有cs代码全部编译到.dll文件里,即使服务器被入侵,也只是dll文件被盗。虽然现在有反编译软件,但并不是很完善,所以相对asp来说.net还是比较安全的。

开发的难易:.net提供了很多类库和函数库,且有非常直观的列表供编码时选用,调用起来非常方便。可编译调试的.net环境也使程序遇到bug时调试起来非常方便。

设计的难易:.net工具库里提供了很多web控件都是很有用的,拿DataGrid来说吧,只要拖一个控件到页面上,cs代码里为该控件绑定数据即可显示一个数据列表,简单又轻松。

该评论在 2015/1/31 23:46:23 编辑过
admin
2015年1月31日 23:56
话说在先."开发的好坏不在乎所用语言,而在乎开发所在的人"

(一)名词解析

ASP
ASP就是Active Server Pages的缩写,Microsfot公司199611月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,开须使用微软的产品就能编写它的代码,能产生和执行动态、交互式的站占服务器的应用程序。

运用ASP可将VBscriptjavascript等脚本语言加入到HTML中,便可完成网站的应用研究程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本都可以完成它的节节胜利。
ASP.NET

之后,微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,而是用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP.NET技术的结合。提供基于组件、事件驱动的可编程网络表单,大简化了编程。还可以用ASP.NET建立网络服务。

(二)总述

ASP.NETASP拥有更高的安全性,更高的性能,更强大的功能,更前卫的编程思维,更结构化的程序,为美工提供更方便直接的设计,更方便正式开发工具,更快速的开发周期,更低成本的维护等等,是未来程序语言发展的必要趋势。

ASP比喻为WINDOWS里面的写字板,而ASP.NET就是WINDOWS里面的OFFICE WORD文档。

ASPASP.NET的区别

1.开发语言不同
ASP
仅局限于使用脚本语言来开发,用户给WEB页中添加ASP代码的方法与客户端脚本中添加代码的方法相同,导致代码杂乱。
ASP.NET
允许用户选择并使用功能完善的编程语言,也允许使用潜加巨大的.NET Framework 最新版本的.NET Framework 2.0.NET带来更多振奋人心支持。
2.
运行机制不同
ASP
是解释运行的编程框架,所以执行效率加较低。
ASP.NET
是编译性的编程框架,运行是服务器上的编译好的公共语言运行时库代码,可以利用早期绑定,实施编译来提高效率。
3.
开发方式
ASP
把界面设计和程序设计混在一起,维护困难。
ASP.NET
把界面设计和程序设计以不同的文件分离开,复用性和维护性得到了提高。

4.开发工具

ASP没有正式的开发工具,一般只能使用本来用于网页美工设计的Dreamweaver进行开发。

ASP有微软专业设计的Microsoft Visual Studio .NET进行专业开发,最新的Microsoft Visual Studio .NET 2005为美工设计和程序开发带来更友好的开发环境。

asp网站程序和asp.net网站程序的区别

1)在Web空间里,成千上万的站点在激烈的竞争着,要想吸引用户,简单的,静态的页面是不够的,动态的有条理的数据加上友好的交互性强的界面,最后再加上丰富的内容,才是用户所乐意访问的。利用交互性很强的应用平台,商家和用户之间进行勾通交流,并实施在线的商业服务。

2ASP.net交互网页技术,为Windows平台下的网站开发人员提供了一种利用动态数据库中丰富多彩的内容使其站点变得更加活跃的方式。而产生这些丰富内容的代码却都是基于Web服务器端的,客户端使用服务时无需考虑其自身所使用的语言和工具。

3)利用ASP.NET技术,Web开发人员能够做到对于不同的用户请求,由服务端自动产生不同的页面,这为电子商务站点的设计提供了有力的技术支持。

4)每天网站流量分析,用户每天的详细访问将影响您的企业的商务情况,网上订单,销售已不再困难,个人求职,聊天室等等令你目不暇接。如果你运用了ASP.net编程技术,你就会明白,网站管理与开发并不遥远,聊天室、BBS等的实现你也可以轻松编制,一切不过如此.

ASP.NetASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:

1、代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。

2、代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。

3、弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。  

以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。那么,ASP.Net有哪些改进呢?

ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++ , VB , JS等等,当然,最合适的编程语言还是MS.Net Frmaework专门推出的C(c sharp),它可以看作是VCJava的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得 代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#C++Java一样提供了完善的调试/纠错体系。

ASP.net是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.net提供许多比现在的Web开发模式强大的的优势。

执行效率的大幅提高

ASP.net是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。

世界级的工具支持

ASP.net构架是可以用MicrosoftR)公司最新的产品 Visual Studio.net开发环境进行开发,WYSIWYGWhat You See Is What You Get所见即为所得)的编辑。这些仅是ASP.net强大化软件支持的一小部分。

强大性和适应性

因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在Windows 2000 Server上)。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.netWeb应用中。ASP.net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#C++Java的结合体),VBJscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.net

简单性和易学性

ASP.net是运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。例如ASP.net页面构架允许你建立你自己的用户分界面,使其不同于常见的VB-Like界面。另外,通用语言简化开发使把代码结合成软件简单的就像装配电脑。

高效可管理性

ASP.net使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为"Zero Local Administration"的哲学观念使Asp.net的基于应用的开发更加具体,和快捷。一个ASP.net的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就是这么简单。

多处理器环境的可靠性

  ASP.net已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的ASP.net应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP确做不到这一点。

自定义性,和可扩展性

ASP.net设计时考虑了让网站开发人员可以在自己的代码中自己定义"plug-in"的模块。这与原来的包含关系不同,ASP.net可以加入自己定义的如何组件。网站程序的开发从来没有这么简单过。

安全性

基于Windows认证技术和每应用程序配置,你可以确性你的原程序时绝对安全的。

ASP

ASP.net

常规代码编写方式

混杂在Html中,比较杂乱。

界面与逻辑相分离,项目更容易维护。

支持语言

只允许使用VbscriptJscript

支持Vb.netC#J#C++JavaPython等众多语言,只要符合.net CLR规范的语言,都可以开发ASP.net程序。

执行方式

解释执行,速度慢。

编译执行,速度快。

开发方式

一般的文本编辑器。

可使用Visual Studio等开发工具,支持控件拖拽和事件驱动方式的开发,开发速度快,后期维护成本低。

组件库支持

只能使用ActiveX/COM控件,安装新控件需要拥有服务器管理权限,虚拟主机用户往往无法安装组件,如果程序依赖新组件,则虚拟主机用户无法运行程序。

提供了很多功能强大的服务器端控件,使得程序的开发更趋于简单化,此外.net控件可以用任何支持.net CLR的语言开发,不需要注册,虚拟主机用户也可以随意增加新的组件库支持。

数据库访问模型

ADO

创新的ADO.net

 

该评论在 2015/1/31 23:56:09 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved