|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我觉得这个学习方法很重要。初学者应该跟我一样有同样一个毛病。那就是急于求成。很想就自己做出个小小的系统来。可真要动手,却又茫然而不知所措。为什么会这样呢?因为我们没有耐心去学习基础知识。写根本看不到什么效果的测试代码。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,是在程序的功能、速率等方面的反动性的改善。
我见过java运行在手机上,包括很廉价的山寨手机,但是却暂时没发现.net在手机上有什么作为。wp7可能是个转机,但是按照《Java的跨平台就是一句谎言。那.net的跨平台也当之无愧是一句谎言。 |
|