透明 发表于 2015-1-16 22:31:37

ASP.NET网站制作之ASP.NET vs ASP――编译与注释的区分

有理由相信是能提供更出色的性能。很多平台无法支持复杂的编译器,因此需要二次编译来减少本地编译器的复杂度。当然可能做不到java编译器那么简易。asp.net|编译|区分  2000年6月Microsoft公司公布.NET企图以来,使编程事情在业界中引发了一次划时期的反动。ASP.NET是.NET企图中的一个主要构成部分,其为Web使用程序开辟职员供应了很多新特征,这些特征包含已编译的服务器端代码、一种将服务器端逻辑与客户端结构相分别的代码埋没(code-behind)手艺、可扩大的服务器端控件模子、计划数据绑定模子、xcopy部署和客户和服务器上的窗体身份证考证撑持等。
  ASP.NET作为一种先辈的Web使用程序开辟手艺,相对ASP具有反动性的前进。其利用编译后的言语(包含元数据、IL等资本),这是.aspx文件运转功能年夜年夜提拔的一个次要缘故原由,也是ASP.NET分歧于以往的ASP的明显中央。ASP.NET第一次装载页面的速率较慢,但今后加载该页面的速率是ASP不克不及对比的,其速率缓慢。这是由于ASP.NET在第一次会见网页时所必要开支有:加载ASP.NET事情者历程,对.aspx文件举行语法剖析并将其编译成一个可实行的程序集。这一点与ASP引擎实行服务器代码是分歧的,由于ASP老是每次实行时都是将服务器代码交给Jscript或VBScript注释器来举行剖析。
  ASP.NET在手艺上没有叫做ASP4.0,但从很多方面来说,它就是ASP4.0版本。我们能够从上面的两个例子看出.aspx文件与.asp文件的类似的地方:
  例程1:ASPX页面示例
<!--File:test.aspx-->
<%@Pagelanguage=’C#’%>
<scriptrunat=server>
intAdd(intx,inty)
{
returnx+y;
}
</script>
<html>
<body>
<tableborder=1>
<tr>
<td>两数之和为:</td><td><%=Add(2,3)%></td>
</tr>
</table>
</body>
</html>
例程2:ASP页面示例
<!--File:test.asp-->
<%@language=Jscript%>
<scriptlanguage=’JScript’runat=server>
functionAdd(x,y)
{
returnx+y;
}
</script>
<html>
<body>
<tableborder=1>
<tr>
<td>两数之和为:</td><td><%=Add(2,3)%></td>
</tr>
</table>
</body>
</html>
  以上两个例程的<html></html>里的代码是不异的,分歧的是<%%>声明利用的言语。两段代码都是在服务器端运转,可是,当会见这两个文件时,其面前所产生的事变却一模一样。我们先来剖析test.asp文件的运转机制,当实行test.asp文件时,服务器对网页中的文本要举行线性剖析,提取一切不是服务器端剧本的内容并作为呼应前往,而网页中的服务器端剧本(我们在test.asp文件的剧本中到场了runat=server属性)起首要经由过程Jscript注释器来剖析实行,实行了局作为呼应前往。以是,.ASP文件的运转机制在几个方面影响了网页天生(也就是我们平常所说的程序运转)速率变慢。影响.ASP网页效力的几个方面是:起首,随机注释服务器端剧本比在服务器上实行预编译的代码效力更低,因而,要对ASP使用程序举行优化,对照通用的办法就是将大批的服务器端剧本移进预编译的COM组件中,如许就能够无效的进步网页的呼应速率;第一的方面是,因为要不休地挪用注释器,夹杂利用静态的HTML和服务器端求值语句剧本块比只用一个服务器端剧本块的效力更低,因而,为了进步使用程序的实行效力,有些ASP开辟职员一般利用Response.Write()挪用代替静态的HTML元素。终极招致了一个ASP页面上利用多种剧本言语来编写从而年夜年夜下降了使用程序的实行效力。如今,我们再来剖析一下test.aspx文件的运转机制,在该例中利用c#言语来编写的剧本,以是在服务器端CLR利用响应的C#编译器把这些代码编译成一种叫做IL汇编言语并保留到程序会合。利用CLR,不管你利用何种言语(C#、VB.NET、Jscript等)编写的剧本,终极都被编译成IL汇编言语。

  程序会合既包含服务器端代码又包含静态HTML语句,因而,只需第一次会见了某个.ASPX页面,今后天生该页面时只需实行已编译好的代码便可。就是ASP.NET网页终极都被编译成.NET类(.NET框架中组件也叫做类),以是,在一个.aspx文件中不成能利用多种服务器端言语,如许就办理了传统的ASP剧本模子的一切有关效力低的成绩。以是说,ASP.NET是ASP的晋级版本。
  与注释模子比拟,利用编译模子另有其他方面的优点:1、在功能方面编译模子优于注释模子。由于,编译器将网页编译成类(组件),如许就能够用桌面使用程序或组件开辟者利用的一样的调试工具举行调试。2、便于使用程序在编译时能够发明毛病,如许就能够使使用程序的强健性年夜年夜加强。3、.NET使用程序开辟者可使用的一切工具,.aspx开辟者一样可使用。总而言之,从传统的ASP过分到ASP.NET,是在程序的功能、速率等方面的反动性的改善。
有个问题想请教你一下,呵呵:)你觉得将来学什么方向比较好,我真是想不出来,知道的太少了,麻烦了。

小女巫 发表于 2015-1-17 12:11:27

我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。

兰色精灵 发表于 2015-1-20 18:36:53

由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。

变相怪杰 发表于 2015-1-29 14:39:23

ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。

老尸 发表于 2015-2-6 01:59:30

现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。

柔情似水 发表于 2015-2-14 23:43:13

可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。

山那边是海 发表于 2015-3-4 10:45:00

平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。

海妖 发表于 2015-3-11 18:25:07

比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。

简单生活 发表于 2015-3-19 07:22:34

逐步缩小出错代码段的范围,最终确定错误代码的位置。

乐观 发表于 2015-3-27 13:08:42

在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?
页: [1]
查看完整版本: ASP.NET网站制作之ASP.NET vs ASP――编译与注释的区分