ASP.NET和ASP有什么區(qū)別
ASP.NET的腳本是雨HTML分離的,代碼被編譯成了DLL, DLL可以在server端執(zhí)行。
ASP的腳本是與HTML在一起的,每次都會進行解釋執(zhí)行。
拓展:
ASP.NET背后有一個完整的.NET Framework支撐
什么是 ASP.NET?
ASP.NET 是建立在公共語言運行庫上的編程框架,可用于在服務(wù)器上生成功能強大的 Web 應(yīng)用程序。與以前的 Web 開發(fā)模型相比,ASP.NET 提供了數(shù)個重要的優(yōu)點:
增強的性能。ASP.NET 是在服務(wù)器上運行的編譯好的公共語言運行庫代碼。與被解釋的前輩不同,ASP.NET 可利用早期綁定、實時編譯、本機優(yōu)化和盒外緩存服務(wù)。這相當(dāng)于在編寫代碼行之前便顯著提高了性能。
世界級的工具支持。ASP.NET 框架補充了 Visual Studio 集成開發(fā)環(huán)境中的大量工具箱和設(shè)計器。WYSIWYG 編輯、拖放服務(wù)器控件和自動部署只是這個強大的工具所提供功能中的少數(shù)幾種。
威力和靈活性。由于 ASP.NET 基于公共語言運行庫,因此 Web 應(yīng)用程序開發(fā)人員可以利用整個平臺的威力和靈活性。.NET 框架類庫、消息處理和數(shù)據(jù)訪問解決方案都可從 Web 無縫訪問。ASP.NET 也與語言無關(guān),所以可以選擇最適合應(yīng)用程序的語言,或跨多種語言分割應(yīng)用程序。另外,公共語言運行庫的交互性保證在遷移到 ASP.NET 時保留基于 COM 的開發(fā)中的現(xiàn)有投資。
簡易性。ASP.NET 使執(zhí)行常見任務(wù)變得容易,從簡單的窗體提交和客戶端身份驗證到部署和站點配置。例如,ASP.NET 頁框架使您可以生成將應(yīng)用程序邏輯與表示代碼清楚分開的用戶界面,和在類似 Visual Basic 的簡單窗體處理模型中處理事件。另外,公共語言運行庫利用托管代碼服務(wù)(如自動引用計數(shù)和垃圾回收)簡化了開發(fā)。
可管理性。ASP.NET 采用基于文本的分層配置系統(tǒng),簡化了將設(shè)置應(yīng)用于服務(wù)器環(huán)境和 Web 應(yīng)用程序。由于配置信息是以純文本形式存儲的,因此可以在沒有本地管理工具幫助的情況下應(yīng)用新設(shè)置。此“零本地管理”哲學(xué)也擴展到了 ASP.NET 框架應(yīng)用程序的部署。只需將必要的.文件復(fù)制到服務(wù)器,即可將 ASP.NET 框架應(yīng)用程序部署到服務(wù)器。不需要重新啟動服務(wù)器,即使是在部署或替換運行的編譯代碼時。
可縮放性和可用性。ASP.NET 在設(shè)計時考慮了可縮放性,增加了專門用于在聚集環(huán)境和多處理器環(huán)境中提高性能的功能。另外,進程受到 ASP.NET 運行庫的密切監(jiān)視和管理,以便當(dāng)進程行為不正常(泄漏、死鎖)時,可就地創(chuàng)建新進程,以幫助保持應(yīng)用程序始終可用于處理請求。
自定義性和擴展性。ASP.NET 隨附了一個設(shè)計周到的結(jié)構(gòu),它使開發(fā)人員可以在適當(dāng)?shù)募墑e“插入”代碼。實際上,可以用自己編寫的自定義組件擴展或替換 ASP.NET 運行庫的任何子組件。實現(xiàn)自定義身份驗證或狀態(tài)服務(wù)一直沒有變得更容易。
安全性。借助內(nèi)置的 Windows 身份驗證和基于每個應(yīng)用程序的配置,可以保證應(yīng)用程序是安全的。
asp使用vb腳本和java腳本編寫。
asp沒有自己的編譯環(huán)境。
asp是和html混編。
asp.net是用vb.net和c#.net編寫的。
asp.net有自己的編譯環(huán)境。
html放在前端,代碼放在后端。
ASP.Net與ASP的區(qū)別在于前者是編譯(Compile)執(zhí)行,而后者是解釋(Interpret)執(zhí)行,前者比后者有更高的效率。
開發(fā)語言不同
Framework。
運行機制不同
ASP是解釋運行的編程框架。
ASP.NET是編譯性的編程框架,運行是服務(wù)器上的編譯好的公共語言運行時庫代碼
開發(fā)方式
從一開始使用ASP,用戶面臨的問題就是:如果應(yīng)用程序要有強大的功能,就需要編寫大量的代碼,所有的功能都必須用代碼來實現(xiàn)。雖然使用一些小技巧可以實現(xiàn)代碼的共享,但是仍然存在大量嵌入HTML的代碼,難于管理。這還只是一個表面現(xiàn)象。
從更深的層次來研究ASP.NET,會發(fā)現(xiàn)ASP.NET與ASP之間的區(qū)別主要在于以下幾個方面。
(1) 效率
ASP是一個腳本編程環(huán)境,只能用VBScript或者JavaScript這樣的非模塊化語言來編寫。當(dāng)ASP程序完成之后,在每次請求的時候解釋執(zhí)行。這就意味著它在使用其他語言編寫的大量組件的時候會遇到困難,并且無法實現(xiàn)對操作系統(tǒng)的底層操作。由于它是解釋執(zhí)行的,所以速度和效率要遠遠低于編譯執(zhí)行的程序。而ASP.NET則是建立在.NET Framework之上的,它可以使用Visual Basic、C++這樣的模塊化程序設(shè)計語言,并且它在第一次執(zhí)行時進行了編譯,之后的執(zhí)行不需要重新編譯就可以直接運行,所以速度和效率比ASP會提高很多。
(2) 可重用性
在寫ASP應(yīng)用程序的時候,ASP代碼和HTML混合在一起。只要有需要,就可以在任意的一個位置插入一段代碼來實現(xiàn)特定的功能。這種方法表面上看起來很方便,但在實際的工作中會產(chǎn)生大量繁瑣的頁面,很難讀懂,導(dǎo)致代碼維護很困難。雖然可以使用 include指令盡量讓程序模塊化,但是仍然不是一個最終徹底的解決方案。而ASP.NET則可以實現(xiàn)代碼和內(nèi)容的完全分離,使得前面提到的問題迎刃而解。
(3) 代碼量
ASP需要對所有的要實現(xiàn)的功能通過編寫代碼來實現(xiàn)。例如,所有的ASP程序員都遇到過這樣的情況:為了保證一個用戶數(shù)據(jù)提交頁面的友好性,當(dāng)用戶輸入錯誤的時候會顯示錯誤的位置,并盡量把用戶原來的輸入在控件中顯示出來。這樣的一個應(yīng)用需要程序員編寫大量的代碼來實現(xiàn)。雖然它實在是一個非常簡單的功能,但在其他的應(yīng)用程序中根本不需要編寫這么多的代碼就可以實現(xiàn)。在ASP.NET中,程序員會發(fā)現(xiàn)只要預(yù)先說明,這樣的功能ASP.NET就可以自動實現(xiàn)。所以相對來說,要實現(xiàn)同樣的功能,使用ASP.NET比使用ASP的代碼量要小得多
【ASP.NET和ASP有什么區(qū)別】相關(guān)文章:
asp和asp.net之間的區(qū)別11-14
有什么ASP.NET常用函數(shù)11-11
ASP.NET簡介10-16
ASP.NET 主題配置教程11-10