仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 456|回复: 7
打印 上一主题 下一主题

[学习教程] ASP.NET网站制作之ASP.NET与ASP编译与注释的区分

[复制链接]
小妖女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:31:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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的跨平台也当之无愧是一句谎言。
精灵巫婆 该用户已被删除
沙发
发表于 2015-1-25 15:50:54 | 只看该作者
这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。
飘飘悠悠 该用户已被删除
板凳
发表于 2015-2-3 06:04:44 | 只看该作者
我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。
简单生活 该用户已被删除
地板
发表于 2015-2-8 19:52:17 | 只看该作者
在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。
爱飞 该用户已被删除
5#
发表于 2015-2-26 00:14:10 | 只看该作者
这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。
若相依 该用户已被删除
6#
发表于 2015-3-8 10:45:56 | 只看该作者
众所周知,Windows以易用而出名,也因此占据不少的服务器市场。
蒙在股里 该用户已被删除
7#
发表于 2015-3-15 22:17:17 | 只看该作者
ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。
活着的死人 该用户已被删除
8#
发表于 2015-3-22 16:52:07 | 只看该作者
JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 02:07

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表