asp与asp.net有何区别?

如题所述

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更好些
温馨提示:内容为网友见解,仅供参考
第1个回答  2021-11-27

ASP.NET和ASP的区别有以下几点:

1、开发语言不同。

ASP使用non-type脚本语言来开发应用程序或web网页,在web端添加代码和在客户端添加代码一致,导致代码杂乱无章。

ASP.NET使用strongly-type编程语言开发应用程序或web网页,也可以使用.NET Framework框架开发,代码一致性较ASP好了许多。

2、运行方式不同。

ASP是解释运行的编程框架,使用js等脚本语言,运行速度慢。

ASP.NET是编译性的编程框架,运行效率高且使用的是服务器端预先编译好的代码库。

3、开发方式不同。

ASP是面向过程设计语言,代码前后端不分离,写在同一个页面,代码杂乱无章,维护性和可重用性较低。

ASP.NET则是面向对象设计语言,代码前后端分离,一部分专注于编写前端代码,一部分专注于编写相应的后台功能,代码井然有序,易维护且可重用性高。

4、复杂性不同。

ASP复杂性低,代码容易理解,但是开发效率不高。

ASP.NET则较为复杂,但是具有相应的框架,程序设计快速且思路清晰。

第2个回答  2020-05-02
asp.net
肯定比asp有
特别多明显的优势
asp.net不仅仅是1个新的版本,而是web应用程序编程方面的1个全新的概念。asp.net
并不是对asp的改进,设计他的初衷是为用户提供尽可能的提供最好的应用程序架够。这就意味着asp.net
和asp
不兼容。(asp.net
和asp是互不干扰的。处理目前的asp页仍然是用和之前一样的机制,而新的价构则负责处理asp.net页,由于他们的扩展名不一样.aspx)
asp
1。asp
是一种脚本语言,他重要依靠javascript
和vbscript
可是他是经过解释的
解释语言有2个缺点
a
缺乏强类型(这类类型象由vb和c/c++这样的了类型语言支持)
b
缺乏编译环境。asp可以高速缓存代码,但他仍然要解释,并且这将导致一性能和伸缩性的问题
2
asp并木有为应用程序提供1个固有的架构。
3。象组件化,代码复用,快速开发等这样的技术人员提供了极大的便利,但在asp中却缺乏这种支持
asp.net
1
asp.net的四个目标
使代码更清楚
提高可部署性,可伸缩性,安全性以及可靠性
为不一样的游览器和设备提供更好的支持
支持一种全新的web应用程序
2
asp.net
支持多语言
asp曾在脚本引擎方面受到了限制,而.net
framework本质上支持多语言。
3
用asp的1个问题在于页面容易的定义了1个大的函数,该函数开始与页面的开始,结束于页面的末尾,不管是页面的内容是存html还是asp生成的html,他都是按照页面顺序显示的。因此我们的代码是依赖于他们的位置,并且没方法将html控件作为目标,除非将他们作为流的一部分显示
而asp.net处理了这个问题,方法是引用1个声明的基于服务器的模型。这类控件可以逆象编程,也可以是客户端驱动(Drive)的事件。
把1个html控件变成1个服务器控件
只需要加上runat=server
用id属性来标识他
4
asp.net
真正不存在无类型,这类语言的的可解释性。
asp.net已经不在支持vbscript了,但他仍然
支持
jscript。
5
代码和内容的分离
可以通过“代码内联”
和“后台编码”
实现
6
asp.net的配置由2个要素
决定
a
标准iis设置
b
配置文件(通用文件machine.config
他包含了所哟asp.net应用程序的默认值)
同时每一个asp.net应用程序还可以有自己的web.config
文件,来重写这类默认值。
7
部署
每一个asp.net应用程序都是独立的,其中包括配置文件和组件。在.net
framework中
组件不要注册,用户只需要将他们拷贝到目标位置即可(可是和
com/com+
组件进行交互时,他们仍然要注册)
第3个回答  2014-07-20
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
1、代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
2、代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
第4个回答  2019-09-15
ASP的不足:
1、它是被解释执行的,并不是被编译执行的,所以比较慢;
2、它没有提供一个很好的开发环境;
3、不支持类,很难封装复杂的外理逻辑;
4、可随意加入脚本,很灵活,但也导致了不可维护性。
ASP.NET相应的优点:
1、它是被编译后再执行的,所以效率要比ASP高很多;
2、它有很高的开发环境,如VS.NET
2005,更容易调试程式;
3、支持类,支持面向对象,可以使用.NET
Framework
更好的进行开发;
4、它使设计和开发分开过来,如界面设计放在.aspx文件中,开发则放在.cs

.vb等文件中。这样更有利于程式的维护。
相似回答