九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
ASP.NET vs ASP——編譯與解釋的區(qū)別

ASP.NET vs ASP——編譯與解釋的區(qū)別

添加時間:2007-4-21 
  2000年6月Microsoft公司發(fā)布.NET計劃以來,使編程工作在業(yè)界中引起了一次劃時代的革命。ASP.NET是.NET計劃中的一個重要組成部分,其為Web應(yīng)用程序開發(fā)人員提供了許多新特性,這些特性包括已編譯的服務(wù)器端代碼、一種將服務(wù)器端邏輯與客戶端布局相分離的代碼隱藏(code-behind)技術(shù)、可擴展的服務(wù)器端控件模型、設(shè)計數(shù)據(jù)綁定模型、xcopy部署以及客戶和服務(wù)器上的窗體身份證驗證支持等。
     ASP.NET作為一種先進的Web應(yīng)用程序開發(fā)技術(shù),相對于ASP具有革命性的進步。其使用編譯后的語言(包括元數(shù)據(jù)、IL等資源),這是.aspx文件運行性能大大提升的一個主要原因,也是ASP.NET不同于以往的ASP的顯著地方。ASP.NET第一次裝載頁面的速度較慢,但以后加載該頁面的速度是ASP不能比擬的,其速度飛快。這是因為ASP.NET在第一次訪問網(wǎng)頁時所需要開銷有:加載ASP.NET工作者進程,對.aspx 文件進行語法分析并將其編譯成一個可執(zhí)行的程序集。這一點與ASP引擎執(zhí)行服務(wù)器代碼是不同的,因為ASP總是每次執(zhí)行時都是將服務(wù)器代碼交給Jscript或VBScript解釋器來進行解析。
         ASP.NET在技術(shù)上沒有叫做ASP 4.0,但從許多方面來講,它就是ASP 4.0版本。我們可以從下面的兩個例子看出.aspx文件與.asp文件的相似之處:

  例程1:ASPX頁面示例

<!--File:test.aspx-->

<%@ Page  language=’C#’ %>

<script  runat=server>

int Add(int x, int y)

{

  return x+y;

}

</script>

<html>

<body>

<table border=1>

 <tr>

  <td>兩數(shù)之和為:</td><td><%=Add(2,3)%></td>

 </tr>

</table>

</body>

</html>

例程2:ASP頁面示例

<!--File:test.asp-->

<%@  language=Jscript%>

<script  language=’JScript’  runat=server>

function  Add(x,y)

{

  return x+y;

}

  </script>

 <html>

<body>

<table border=1>

 <tr>

  <td>兩數(shù)之和為:</td><td><%=Add(2,3)%></td>

 </tr>

</table>

</body>

</html>

  以上兩個例程的<html></html>里的代碼是相同的,不同的是 <%%>聲明使用的語言。兩段代碼都是在服務(wù)器端運行,但是,當訪問這兩個文件時,其背后所發(fā)生的事情卻截然不同。我們先來分析test.asp文件的運行機制,當執(zhí)行test.asp文件時,服務(wù)器對網(wǎng)頁中的文本要進行線性解析,提取所有不是服務(wù)器端腳本的內(nèi)容并作為響應(yīng)返回,而網(wǎng)頁中的服務(wù)器端腳本(我們在test.asp文件的腳本中加入了runat=server屬性)首先要通過Jscript解釋器來解析執(zhí)行,執(zhí)行結(jié)果作為響應(yīng)返回。所以,.ASP文件的運行機制在幾個方面影響了網(wǎng)頁生成(也就是我們平時所說的程序運行)速度變慢。影響.ASP網(wǎng)頁效率的幾個方面是:首先,隨機解釋服務(wù)器端腳本比在服務(wù)器上執(zhí)行預編譯的代碼效率更低,因此,要對ASP應(yīng)用程序進行優(yōu)化,比較通用的方法就是將大量的服務(wù)器端腳本移入預編譯的COM組件中,這樣就可以有效的提高網(wǎng)頁的響應(yīng)速度;第一的方面是,由于要不斷地調(diào)用解釋器,混合使用靜態(tài)的HTML和服務(wù)器端求值語句腳本塊比只用一個服務(wù)器端腳本塊的效率更低,因此,為了提高應(yīng)用程序的執(zhí)行效率,有些ASP開發(fā)人員通常使用Response.Write()調(diào)用取代靜態(tài)的HTML元素。最終導致了一個ASP頁面上使用多種腳本語言來編寫從而大大降低了應(yīng)用程序的執(zhí)行效率?,F(xiàn)在,我們再來分析一下test.aspx文件的運行機制,在該例中使用c#語言來編寫的腳本,所以在服務(wù)器端CLR使用相應(yīng)的C#編譯器把這些代碼編譯成一種叫做IL匯編語言并保存到程序集中。使用CLR,無論你使用何種語言(C#、VB.NET、Jscript 等)編寫的腳本,最終都被編譯成IL匯編語言。
  程序集中既包括服務(wù)器端代碼又包括靜態(tài)HTML語句,因此,只要第一次訪問了某個.ASPX頁面,以后生成該頁面時只需執(zhí)行已編譯好的代碼即可。就是ASP.NET網(wǎng)頁最終都被編譯成.NET類(.NET框架中組件也叫做類),所以,在一個.aspx文件中不可能使用多種服務(wù)器端語言,這樣就解決了傳統(tǒng)的ASP腳本模型的所有有關(guān)效率低的問題。所以說,ASP.NET是ASP的升級版本?!∨c解釋模型相比,使用編譯模型還有其他方面的好處:1、在性能方面編譯模型優(yōu)于解釋模型。因為,編譯器將網(wǎng)頁編譯成類(組件),這樣就可以用桌面應(yīng)用程序或組件開發(fā)者使用的同樣的調(diào)試工具進行調(diào)試。2、便于應(yīng)用程序在編譯時可以發(fā)現(xiàn)錯誤,這樣就可以使應(yīng)用程序的健壯性大大增強。3、.NET應(yīng)用程序開發(fā)者可以使用的所有工具,.aspx開發(fā)者同樣可以使用。總而言之,從傳統(tǒng)的ASP過度到ASP.NET,是在程序的性能、速度等方面的革命性的改進。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
ASP.NET Web 頁面語法概覽
Asp.net夜話之一:asp.net介紹
ASP.NET的網(wǎng)頁代碼模型及生命周期
最新技術(shù): ASP.NET 頁的客戶端
ASP.NET中級學習
ASP.NET四種頁面導航方式之比較與選擇
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服