ASP.NET強(qiáng)大的性能
發(fā)表時(shí)間:2024-02-16 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:8
[摘要]一個(gè)程序,速度是一件非常令人渴望的東西。一旦代碼開始工作,接下來你就得盡可能的讓它運(yùn)作的快些,再快些,在ASP中你只有盡可能擰干你的代碼,以至于不得不將他們移植到一個(gè)僅有很少一點(diǎn)性能的部件中。但現(xiàn)在呢,微軟將推出的ASP.NET會(huì)妥善的解決這一問題.兼容性ASP.net與ASP兼容,因此沒有必要擔(dān)...
一個(gè)程序,速度是一件非常令人渴望的東西。一旦代碼開始工作,接下來你就得盡可能的讓它運(yùn)作的快些,再快些,
在ASP中你只有盡可能擰干你的代碼,以至于不得不將他們移植到一個(gè)僅有很少一點(diǎn)性能的部件中。但現(xiàn)在呢,微軟將推出
的ASP.NET會(huì)妥善的解決這一問題.
兼容性
ASP.net與ASP兼容,因此沒有必要擔(dān)心你現(xiàn)存的應(yīng)用程序會(huì)在IIS的下一版本中崩潰。ASP.net文件以新的擴(kuò)展名出
現(xiàn),即.ASPX,因此,你能很容易分辨出新老文件。
在使用ASP.net時(shí)有太多的 禁錮,如果你想從ASP.net中獲取一些便利,你就得按它的規(guī)矩來做,這樣會(huì)對(duì)你的應(yīng)用成許
作出諸多限制。另一方面,微軟也力求使開發(fā)人員寫更少的代碼,所以以就只有在流暢性和連貫性方面做出犧牲。
ASP.net在管理和書寫方面的難度相對(duì)來說是增加了。因?yàn)樵贏SP.NET里,有太多的“小事情”需要被考慮到,所以,
開發(fā)者或者初用者不得不花費(fèi)不少的時(shí)間來想通一個(gè)問題:為什么系統(tǒng)這么容易死掉。
很明顯的,ASP和 ASP.net會(huì)成為下一代網(wǎng)絡(luò)應(yīng)用軟件。雖然花費(fèi)不少,但ASP.net確實(shí)提供了一些非常新的特性;ASP 會(huì)
力圖將費(fèi)用平衡下來,并且提供一些ASP.net所沒有的功能。
可編譯代碼
代碼已在要求下被編譯了,所以你可以在任何語言下編制ASP.net�,F(xiàn)在甚至于VBSCRIPT 和JAVA SCRIPT都被編譯了。
COM 對(duì)象
我們?cè)谑褂玫湫偷腁SP時(shí),都意識(shí)到與COM 伴隨而來的問題。注冊(cè)components,重新啟動(dòng)服務(wù)器…,都是些讓人很感麻
煩的事�,F(xiàn)在,因?yàn)橛辛诵?一代視窗服務(wù)系統(tǒng)(NGWS),你不再需要為這些問題煩心了。你只需簡(jiǎn)單的復(fù)制源文件,在你需
要的地方粘貼,它就會(huì)正常運(yùn)作。不用再DLL注冊(cè)。
XML配置
通過NGWS 框架,所有的METABASE和配置信息都存儲(chǔ)在XML文件里。這意味著,你再也不需要被IIS糊弄得團(tuán)團(tuán)轉(zhuǎn),甚至
去改變?cè)O(shè)置。事實(shí)上,你只需改變從任何一處來的XML文件,并將改變 結(jié)果上傳到服務(wù)器。不需要任何類型的遠(yuǎn)程PC 控
制。
Web forms和Web controls
ASP.net 提供了forms 鏈結(jié)到服務(wù)器的功能,因此你能夠更簡(jiǎn)單地處理請(qǐng)求。Web controls也提供了相似的功能,并
向網(wǎng)頁開發(fā)者提供了相對(duì)于HTML controls的更多的功能。
caching
當(dāng)用戶不再對(duì)服務(wù)器提出更多指令時(shí),ASP.net允許對(duì)象和輸出數(shù)據(jù)被緩沖,這樣會(huì)大大提升速度。ASP.net 緩沖系統(tǒng)
非常先進(jìn),它可以讓你分辨出哪些需要被緩沖,哪些不需要,并且在何時(shí)調(diào)出緩沖的信息
可升級(jí)性
在ASP.net中植入了一些非常優(yōu)秀的可升級(jí)性特征,包括通過server維持會(huì)話狀態(tài),以及多處理器平衡。ASP.net
runtime 同樣也監(jiān)控進(jìn)程,因此當(dāng)你把數(shù)據(jù)弄得一團(tuán)糟的時(shí)候,ASP.net會(huì)自動(dòng)關(guān)閉,然后重新啟動(dòng),同時(shí)將舊指令輸入到
新的進(jìn)程中。
ASP.Net提供了一系列的全新的特征,并在現(xiàn)有的基礎(chǔ)上作了改進(jìn)。雖然聽起來不錯(cuò),但也不是沒有問題的。如果沒有更好
的ADO支持,一切都不會(huì)那么的盡善盡美。
文件管理
整個(gè).NET體系是構(gòu)建于NGWS RUNTIME基礎(chǔ)上,NGWS RUNTIME廢除了我們習(xí)慣使用的COM 體系,取而代之的是更為大眾
化的runtime,從根本上來講,runtime與Java虛擬機(jī)一樣。Runtime 的基本運(yùn)作方式是中途截取代碼,并將它轉(zhuǎn)譯為普通機(jī)
器語言,以便系統(tǒng)使用,同樣還負(fù)責(zé)ASP.net的頁面編譯。
注:如果你對(duì)JAVA不太熟悉,從根本上來說,你電腦里的程序?qū)AVA代碼翻譯成了機(jī)器語言。這些代碼被送到不同的
平臺(tái),你僅僅需要重做一遍程序,而不是重做全部的程序設(shè)計(jì)語言。這就是JAVA 所保證的跨平臺(tái)兼容性。你可以發(fā)現(xiàn)這
與.NET 非常類似,例外的是JAVA是跨平臺(tái),而。NET是多語言兼容性。
該系統(tǒng)也為你的應(yīng)用程序在源文件上保留了制表符。如果系統(tǒng)監(jiān)測(cè)到程序被改動(dòng)了,runtime 則會(huì)重新將它們編譯,并自
動(dòng)存儲(chǔ)最新編譯版本。
在此,我們可以明顯的感受到ASP.net所帶來的便利�?傊幾g語言,機(jī)器代碼以及強(qiáng)大的類型變量,比起得到執(zhí)行
前進(jìn)行解釋的腳本語言要快得多。
我們禁不住會(huì)猜想,我們將為全新的runtime 花費(fèi)多少?微軟保證,從編譯 ASP pages上所得到的性能會(huì)遠(yuǎn)遠(yuǎn)超過在
runtime體系上的費(fèi)用,但這聽起來不太象是個(gè)好的解決辦法。例如,Java 虛擬機(jī),將JAVA 程序 的運(yùn)作速度大幅度的降
了下來。我們只有祈求 在這個(gè) runtime里不會(huì)出現(xiàn)類似的嚴(yán)重的錯(cuò)誤。
另外,需要提醒的是,編譯一個(gè)應(yīng)用程序也需要耗費(fèi)時(shí)間,因此,您系統(tǒng)的第一個(gè)用戶會(huì)發(fā)現(xiàn)明顯的遲延現(xiàn)象。如果
你經(jīng)常改變程序(許多ASP的程式員都會(huì)這樣做),你的用戶就會(huì)發(fā)現(xiàn)性能明顯降低。(出處:yesky)