Asp.net是什么意思?詳解Asp.net的特點(diǎn)、編程工具及常用框架
一、Asp.net是什么意思
ASP.NET又稱為ASP+,不僅僅是ASP的簡(jiǎn)單升級(jí),而是微軟公司推出的新一代腳本語(yǔ)言。ASP.NET基于.NET Framework的Web開發(fā)平臺(tái),不但吸收了ASP以前版本的最大優(yōu)點(diǎn)并參照J(rèn)ava、VB語(yǔ)言的開發(fā)優(yōu)勢(shì)加入了許多新的特色,同時(shí)也修正了以前的ASP版本的運(yùn)行錯(cuò)誤。
ASP.NET具備開發(fā)網(wǎng)站應(yīng)用程序的一切解決方案,包括驗(yàn)證、緩存、狀態(tài)管理、調(diào)試和部署等全部功能。在代碼撰寫方面特色是將頁(yè)面邏輯和業(yè)務(wù)邏輯分開,它分離程序代碼與顯示的內(nèi)容,讓豐富多彩的網(wǎng)頁(yè)更容易撰寫。同時(shí)使程序代碼看起來(lái)更潔凈、更簡(jiǎn)單。
二、Asp.net工作原理
從使用的角度看,ASP.NET的運(yùn)行過(guò)程包含頁(yè)面請(qǐng)求、分析、編譯、組裝、頁(yè)面緩沖五大環(huán)節(jié)。當(dāng)客戶端通過(guò)瀏覽器請(qǐng)求(Request)頁(yè)面時(shí),服務(wù)器端首先由頁(yè)面分析器(Parser)對(duì)被請(qǐng)求的頁(yè)面進(jìn)行分析;再將通過(guò)分析的頁(yè)面內(nèi)容傳遞給編譯器(Compiler);經(jīng)過(guò)編譯器編譯的頁(yè)面內(nèi)容被傳輸給組裝緩存(Assembly Cache),同時(shí),一些需要較高資源代價(jià)的元素可以創(chuàng)建一次后存入內(nèi)存(Memory);將組裝緩存和內(nèi)存中的內(nèi)容有機(jī)結(jié)合后形成一個(gè)完整頁(yè)面(包括數(shù)據(jù)、編譯代碼、Html代碼等),完整頁(yè)面最后被送往輸出緩存(Output Cache)。輸出緩存中的內(nèi)容將作為客戶端的頁(yè)面請(qǐng)求結(jié)果被送回瀏覽器。當(dāng)同一頁(yè)面被第二次請(qǐng)求時(shí),服務(wù)器端將跳過(guò)所有中間環(huán)節(jié),直接從輸出緩存中送出頁(yè)面請(qǐng)求結(jié)果。
三、Asp.net的特點(diǎn)
1、多語(yǔ)言支持
多語(yǔ)言支持是ASP.NET的重要新特性之一,主要表現(xiàn)在所支持的編程語(yǔ)言種類多和單個(gè)語(yǔ)言功能強(qiáng)兩個(gè)方面。首先,ASP.NET為Web應(yīng)用提供一種類似于Java編譯技術(shù)的"二次編譯技術(shù)"——中間語(yǔ)言MSIL(Microsoft Intermediate Language)執(zhí)行架構(gòu),先將ASP.NET應(yīng)用編譯成MSIL,再將MSIL編譯成機(jī)器語(yǔ)言執(zhí)行。這樣,只要能被編譯成MSIL的編程語(yǔ)言都可以用來(lái)編寫ASP.NET應(yīng)用。
其次,ASP.NET所支持的編程語(yǔ)言是指這種語(yǔ)言的功能全集(而不是子集),所以,ASP.NET中每種編程語(yǔ)言的功能要比ASP中使用的VB script和Java Script更為強(qiáng)大。
2、增強(qiáng)的性能
在ASP.NET中,頁(yè)面代碼是被編譯執(zhí)行的,它利用提前綁定、即時(shí)編譯、本地優(yōu)化和緩存服務(wù)來(lái)提高性能。當(dāng)?shù)谝淮握?qǐng)求一個(gè)頁(yè)面時(shí),cLR對(duì)頁(yè)面程序代碼和頁(yè)面自身進(jìn)行編譯,并在高速緩存cache中保存編譯結(jié)果的副本。當(dāng)?shù)诙握?qǐng)求該頁(yè)面時(shí),就直接使用cache中的結(jié)果(無(wú)需再次編譯)。這就大大提高了頁(yè)面的處理性能。
3、類和名空間
ASP.NET包含一整套有用的類和名空間(Namespaces)。名空間被用做一種有組織的機(jī)制——一種表示可用于其他程序和應(yīng)用的程序組件的方法。名空間包含類。和類庫(kù)一樣,名空間可以使Web應(yīng)用程序的編寫變得更加容易。HtmlAnchor、HtmlContrl以及HtmlForm是ASP.NET中的幾個(gè)類,它們被包含System.web.UI.HtmlControl空間中。
4、服務(wù)器控件
ASP.NET提供了許多功能強(qiáng)大的服務(wù)器控件,這大大簡(jiǎn)化了web頁(yè)面的創(chuàng)建任務(wù)。這些服務(wù)器控件提供從顯示、日歷、表格到用戶輸入驗(yàn)證等通用功能,它們自動(dòng)維護(hù)其選擇狀態(tài),并允許服務(wù)器端代碼訪問(wèn)和調(diào)用其屬性、方法和事件。因此,服務(wù)器控件提供了一個(gè)清晰的編程模型,使得Web應(yīng)用的開發(fā)變得簡(jiǎn)單、容易。
5、支持web服務(wù)
ASP.NET提供了強(qiáng)大的、標(biāo)準(zhǔn)化的web服務(wù)支持能力,通過(guò)使用Internet標(biāo)準(zhǔn),可以將一個(gè)web服務(wù)和其他web服務(wù)集成在一起。web服務(wù)提供了構(gòu)建分布式web應(yīng)用的基本模塊。ASP.NET允許使用和創(chuàng)建web服務(wù)。
6、更高的安全性
與ASP相比,在支持常規(guī)windows身份驗(yàn)證方法的基礎(chǔ)上,ASP.NET還提供了Passport和Cookie兩種不同類型的登錄和身份驗(yàn)證方法。同時(shí),ASP.NET還采用了基于角色的安全模式,為不同角色的用戶指定不同的安全授權(quán)。另一方面,ASP.NET還使得創(chuàng)建基于頁(yè)面的身份驗(yàn)證工作變得更為簡(jiǎn)單。
7、良好的可伸縮性
在ASP.NET中,允許使用跨服務(wù)器會(huì)話(Cross - Server Sessions),其會(huì)話狀態(tài)可以被另一臺(tái)機(jī)器或另一個(gè)數(shù)據(jù)庫(kù)上的其他的進(jìn)程所維護(hù)。隨著信息處理和傳輸流量的增加,可以為系統(tǒng)添加更多的web服務(wù)器。
8、無(wú)Cookie會(huì)話
即使在瀏覽器不允許使用cookie的情況下,ASP.NET仍然能夠使用戶使用會(huì)話狀態(tài)。與帶cookie的會(huì)話不同,無(wú)cookie會(huì)話是通過(guò)URL將會(huì)話標(biāo)識(shí)(SessionID)傳遞到ASP.NET頁(yè)面的。
四、Asp.net編程開發(fā)
1、軟件環(huán)境
(1)、操作系統(tǒng):MicrosoR Windows NT 4.O或更高版本的操作系統(tǒng),包括Microsoft windows2000系列,Microsoft windows 2003系列,不支持Microsoft Windows 95,Microsoft windows 98,Microsoft windows Me等操作系統(tǒng)。
注意:對(duì)于Microsoft Windows NT 4.0需要升級(jí)到SP6以上的版本。對(duì)于Windows 2000以上的操作系統(tǒng),需要將Windows 2000升級(jí)到SP3以后的版本。
(2)、Framework:Framework是.NET的支撐基礎(chǔ)。它包含.NET平臺(tái)的運(yùn)行庫(kù)與公用語(yǔ)言運(yùn)行時(shí),所有的.NET平臺(tái)下的程序都需要基于它的類庫(kù)來(lái)建立程序,而所有的程序也需要先編譯為中間語(yǔ)言(IL)然后由公用語(yǔ)言運(yùn)行時(shí)管理執(zhí)行??梢哉f(shuō)沒(méi)有Framework就沒(méi)有.NET平臺(tái)。
針對(duì).NET的開發(fā),微軟還為開發(fā)人員準(zhǔn)備了很多開發(fā)工具,它們被集中到Framework SDK中,要進(jìn)行.NET的開發(fā),這些開發(fā)、調(diào)試工具是不可少的。因此,要進(jìn)行,NET開發(fā),最好安裝Framework SDK。
不過(guò)需要注意的是,Microsoft Windows 2003系列已經(jīng)集成Framework(但不包含F(xiàn)ramework SDK),除非有新的版本,一般不需要再安裝。另外在Linux下與Framework對(duì)應(yīng)的是Mono。
(3)、MDAC:有了上面講述的這些之后,就已經(jīng)具有最基本的.NET開發(fā)平臺(tái),可以進(jìn)行一些簡(jiǎn)單程序的開發(fā)。但是,當(dāng)要使用數(shù)據(jù)庫(kù)、XML等對(duì)象時(shí),編寫的程序可能無(wú)法執(zhí)行。
因?yàn)?NET還有基本的需要——MDAC(Microsoft Data Access CompHDnents),翻譯為中文是微軟數(shù)據(jù)訪問(wèn)組件。這是一整套的微軟的數(shù)據(jù)訪問(wèn)組件,幾乎所有的windows平臺(tái)下的數(shù)據(jù)庫(kù)訪問(wèn)都是由這些組件來(lái)完成的,因此,對(duì)于.NET的數(shù)據(jù)庫(kù)開發(fā)來(lái)說(shuō),MDAC是不可缺少的部分。
2、編程工具
(1)、Microsoft Visual Studio
Visual Studio by Microsoft是一個(gè)支持各種語(yǔ)言的集成開發(fā)環(huán)境,如C/C++、VB.NET、Visual Basic、Visual J#、Visual C#、Python、Ruby、XML/XSLT、HTML/XHTML、Javascript和CSS。它還包括一個(gè)代碼編輯器和一個(gè)調(diào)試器(關(guān)注我們獲取調(diào)試器下載鏈接)。使此環(huán)境成為一個(gè)完整解決方案的其他內(nèi)置工具包括代碼分析器、用于構(gòu)建GUI應(yīng)用程序的設(shè)計(jì)器、Web設(shè)計(jì)器、類設(shè)計(jì)器和數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)器。
(2)、ReSharper
另一個(gè)為.NET應(yīng)用程序的安全和可靠開發(fā)提供優(yōu)秀環(huán)境的工具是ReSharper(關(guān)注我們獲取下載鏈接)。它是定期更新和創(chuàng)建是新的亮點(diǎn)。它是VisualStudio的擴(kuò)展。ReSharper之所以被程序員選中,是因?yàn)樗袃?nèi)置的特性,比如代碼分析特性,因此當(dāng)它看到"代碼氣味"和風(fēng)格準(zhǔn)則違規(guī)時(shí),就會(huì)糾正代碼。
(3)、Bytescout
Bytescout是廣泛使用的平臺(tái)之一,它具有多種工具,對(duì).NET開發(fā)人員很有幫助。他們可以很容易地創(chuàng)建PDF與豐富的文本和圖像使用這個(gè)工具。Bytescout生成PDF的各種功能包括:刪除圖片、分離元信息、將pdf轉(zhuǎn)換為超出預(yù)期的功能、分割PDF文檔等。
與ByteScoutPDKSDK,用戶可以在C#或VB.NET中創(chuàng)建PDF文件。報(bào)告還可以以各種其他格式生成,包括PNG、JPEG、TIFF和CCITT傳真等??梢允褂?0位、128位和256位加密的安全選項(xiàng)。用戶可以根據(jù)自己的需求輕松地設(shè)置安全設(shè)置。
(4)、Nuget
.NET開發(fā)人員使用Nuget與任何有選擇的社區(qū)、組織或工作組共享特定代碼。它是免費(fèi)的,開源的。Nuget(關(guān)注我們獲取下載鏈接)也可以作為最簡(jiǎn)單的技術(shù)來(lái)劃分您自己的代碼,以便在各種項(xiàng)目中使用。默認(rèn)情況下,它可以作為VisualStudio擴(kuò)展使用,并且隨著時(shí)間的推移而發(fā)展。目前的版本有內(nèi)置的工具和服務(wù),這在早期版本中是不存在的。作為擴(kuò)展,它幫助許多.NET和VB開發(fā)人員定義各種包。
(5)、LinQPad
LinQPad用于測(cè)試LINQ查詢或任何C#/F#/VisualBasic程序。該工具具有內(nèi)置調(diào)試器和自動(dòng)完成功能,是一個(gè)完美的平臺(tái),為原型與即時(shí)反饋。簡(jiǎn)單地說(shuō),LINQPad就像LINQ的記事本。它本質(zhì)上是用于在代碼中引入LINQ和測(cè)試代碼片段之前進(jìn)行測(cè)試的代碼工具。(關(guān)注我們獲取下載鏈接)
(6)、VisualStudio庫(kù)
要快速訪問(wèn)VisualStudio擴(kuò)展、控件和模板,VisualStudio庫(kù)是非常必要的。它有助于集成IDE,允許您訪問(wèn)當(dāng)前可用的7,000多個(gè)產(chǎn)品。
(7)、Chocolaty
Chocolaty也是一個(gè)Windows軟件包管理器,并且正在不斷發(fā)展成為人們所希望的平臺(tái)之一。這個(gè)工具的重要之處在于,它與所有當(dāng)前的編程建立創(chuàng)新(如NSIS、MSI和InnoSetup)以及運(yùn)行時(shí)二進(jìn)制文件和zip歸檔一起工作。
盡管很少有開發(fā)人員傾向于使用WindowsInstaller使用的MSI數(shù)據(jù)庫(kù)文檔,但在Windows上進(jìn)行安裝是非常建議的。Chocolatey公司擁有先進(jìn)的PowerShell來(lái)提供自動(dòng)化軟件管理指導(dǎo)和內(nèi)部制造模塊,以便立即完成這項(xiàng)復(fù)雜的任務(wù)(關(guān)注我們獲取下載鏈接)。許多ASP.NET開發(fā)公司利用Chocolaty來(lái)制作和方便他們的包,使它們更可靠。
(8)、NCrunch
NCrunch是一個(gè)幫助開發(fā)人員在編寫代碼時(shí)運(yùn)行和測(cè)試代碼的工具。它是一個(gè)同時(shí)進(jìn)行代碼測(cè)試的工具,使開發(fā)人員能夠在編寫代碼時(shí)設(shè)置質(zhì)量度量。該工具提供了有關(guān)測(cè)試代碼的重要數(shù)據(jù),以便開發(fā)人員能夠同時(shí)提高質(zhì)量。.NET開發(fā)團(tuán)隊(duì)正在使用NCrunch,因?yàn)樗哂兄悄軠y(cè)試執(zhí)行和內(nèi)聯(lián)豁免細(xì)節(jié)。
(9)、Ionide
Ionide是VisualStudio代碼包套件,附帶了一些用于跨平臺(tái)F#開發(fā)的額外工具。Ionide主要用于使當(dāng)前的、創(chuàng)造性的、豐富的編輯可供每個(gè)人使用,而不管操作系統(tǒng)的類型如何。
Ionide,VisualStudio代碼商業(yè)中心中最值得注意的評(píng)估模塊之一,是一個(gè)長(zhǎng)期存在的開發(fā)項(xiàng)目,下載量超過(guò)100萬(wàn)次。它還帶來(lái)了豐富的編輯器體驗(yàn),從VisualStudio到VS代碼,將其轉(zhuǎn)換為完全成熟的F#IDE。它被狂熱者和專家開發(fā)人員所利用,使每個(gè)人都能得到盡可能多的回報(bào)。
五、.net框架
.NET框架(.NET Framework) 是由微軟開發(fā),一個(gè)致力于敏捷軟件開發(fā)(Agile softwaredevelopment)、快速應(yīng)用開發(fā)(Rapidapplication development)、平臺(tái)無(wú)關(guān)性和網(wǎng)絡(luò)透明化的軟件開發(fā)平臺(tái)。
.NET框架是一個(gè)多語(yǔ)言組件開發(fā)和執(zhí)行環(huán)境,它提供了一個(gè)跨語(yǔ)言的統(tǒng)一編程環(huán)境。.NET框架的目的是便于開發(fā)人員更容易地建立Web應(yīng)用程序和Web服務(wù),使得Internet上的各應(yīng)用程序之間,可以使用Web服務(wù)進(jìn)行溝通。從層次結(jié)構(gòu)來(lái)看,.NET框架又包括三個(gè)主要組成部分:公共語(yǔ)言運(yùn)行庫(kù)(CLR:Common Language Runtime)、服務(wù)框架(Services Framework)和上層的兩類應(yīng)用模板——傳統(tǒng)的Windows應(yīng)用程序模板(Win Forms)和基于ASP.NET的面向Web的網(wǎng)絡(luò)應(yīng)用程序模板(Web Forms和Web Services)。
公共語(yǔ)言運(yùn)行庫(kù)(CLR),是一個(gè)運(yùn)行時(shí)環(huán)境,管理代碼的執(zhí)行并使開發(fā)過(guò)程變得更加簡(jiǎn)單。CLR是一種受控的執(zhí)行環(huán)境,其功能通過(guò)編譯器與其它工具共同展現(xiàn)。
服務(wù)框架(Services Framework)提供了一套開發(fā)人員希望在標(biāo)準(zhǔn)語(yǔ)言庫(kù)中存在的基類庫(kù),包括集合、輸入/輸出、字符串及數(shù)據(jù)類。
六、Asp.net常用框架
1、分布式緩存框架:
Microsoft Velocity:微軟自家分布式緩存服務(wù)框架。
Memcahed:一套分布式的高速緩存系統(tǒng),目前被許多網(wǎng)站使用以提升網(wǎng)站的訪問(wèn)速度。
Redis:是一個(gè)高性能的KV數(shù)據(jù)庫(kù)。 它的出現(xiàn)很大程度補(bǔ)償了Memcached在某些方面的不足。
EnyimMemcached:訪問(wèn)Memcached最優(yōu)秀的.NET客戶端,集成不錯(cuò)的分布式均衡算法。
2、開源的.NET系統(tǒng)推薦:
OXITE:微軟ASP.NET MVC案例演示框架。
PetShop:微軟ASP.NET寵物商店。
Orchard:國(guó)外一個(gè)MVC開源的博客系統(tǒng)。
SSCLI:微軟在NET Framework 2.0時(shí)代的開源代碼。
DasBlog:國(guó)外一個(gè)基于ASP.NET的博客系統(tǒng)。
BlogEngine.NET:國(guó)外一款免費(fèi)開源的博客系統(tǒng)。
Dotnetnuke.NET:一套非常優(yōu)秀的基于ASP.NET的開源門戶網(wǎng)站程序。
Discuz.NET:國(guó)內(nèi)開源的論壇社區(qū)系統(tǒng)。
nopCommerce和Aspxcommerce:國(guó)外一套高質(zhì)量的開源B2C網(wǎng)站系統(tǒng)。
JumboTCMS和DTCMS:國(guó)內(nèi)兩款開源的網(wǎng)站管理系統(tǒng)。
七、Asp.net技術(shù)應(yīng)用
高校教育網(wǎng)站管理具體包括人力資源管理、技術(shù)管理和組織管理,而Asp.net技術(shù)在管理革新方面更多地反映在技術(shù)管理層面。技術(shù)管理中的技術(shù)可以被定義為高校教育網(wǎng)站開放、生產(chǎn)、傳遞和服務(wù)的一整套理論知識(shí)、水平能力、實(shí)踐訣竅和策略。高校教育網(wǎng)站技術(shù)管理過(guò)程具體表現(xiàn)在正確地識(shí)別哪些技術(shù)對(duì)網(wǎng)站建設(shè)有用并有效,積極地選擇相關(guān)適用的網(wǎng)站技術(shù),并獲取和吸收所選擇的網(wǎng)站技術(shù),同時(shí)不斷開發(fā)新技術(shù)來(lái)獲取網(wǎng)站收益和保護(hù)網(wǎng)站自有知識(shí)和產(chǎn)權(quán),并最后進(jìn)行相關(guān)的技術(shù)管理評(píng)估以利不斷革新。Asp.net技術(shù)的出現(xiàn)要求高校教育網(wǎng)站建立符合我國(guó)國(guó)情的技術(shù)管理規(guī)范體系,實(shí)現(xiàn)技術(shù)管理的標(biāo)準(zhǔn)化。
八、Asp.net的意義
ASP.NET是微軟提出的用于創(chuàng)建動(dòng)態(tài)Web內(nèi)容的一種強(qiáng)大的服務(wù)器端技術(shù)。ASP技術(shù)僅僅是微軟在IIS的框架結(jié)構(gòu)上進(jìn)行的一個(gè)擴(kuò)展,而ASP.NET與ASP相比可以說(shuō)是一個(gè)質(zhì)的飛躍。
ASP.NET與其底層框架.NET緊密結(jié)合,為動(dòng)態(tài)的Web開發(fā)技術(shù)提供了豐富而強(qiáng)大的類庫(kù)資源。.NET是微軟推出的一個(gè)跨操作系統(tǒng)、跨平臺(tái)的應(yīng)用體系框架,.NET通過(guò)一組標(biāo)準(zhǔn)化的類庫(kù)抽象了操作系統(tǒng)提供的進(jìn)程、文件、網(wǎng)絡(luò)等功能,并附加了豐富的文本處理、加密解密、調(diào)試跟蹤等功能。由于.NET提供了跨平臺(tái)的機(jī)制,因此隨著.NET架構(gòu)移植到其他操作系統(tǒng)中,在.NET框架上開發(fā)的所有應(yīng)用程序,包括應(yīng)用ASP.NET技術(shù)的Web應(yīng)用程序,也將一并移植過(guò)去而不需要做任何改動(dòng)。
這對(duì)于一貫把程序員封閉在Windows平臺(tái)上的微軟來(lái)說(shuō),不亞于一場(chǎng)巨大的變革,而程序員也會(huì)從微軟的這次轉(zhuǎn)變中得到很多益處。另外.NET平臺(tái)提供了先進(jìn)的裝配件結(jié)構(gòu)和類型系統(tǒng),并且完全集成了Web Service服務(wù),由于從ASP.NET的頁(yè)面生成的臨時(shí)對(duì)象也屬于.NET的類型系統(tǒng),因此ASP.NET在性能、安全性、可擴(kuò)展性方面可以借用.NET平臺(tái)提供的良好框架。
最后總結(jié)
優(yōu)化猩SEO:ASP.NET所見即所得,并基于windows的安全認(rèn)證技術(shù)。asp.net可以使用常用的html編輯工具、web前端工具(Dream wave、visual studio等)實(shí)現(xiàn)快速開發(fā),是常用的腳本開發(fā)語(yǔ)言之一。
參考鏈接:
asp.net(一種腳本語(yǔ)言)_百度百科
https://baike.baidu.com/item/asp.net/197912
2020年好用的.NET開發(fā)工具-.net開發(fā)工具
https://developer.51cto.com/article/616785.html
基于.NET平臺(tái)常用的框架整理-騰訊云開發(fā)者社區(qū)-騰訊云
https://cloud.tencent.com/developer/article/1665535
NET(免費(fèi)開源開發(fā)平臺(tái))_百度百科
https://baike.baidu.com/item/.net%E6%A1%86%E6%9E%B6/2880331
修改于2023-09-12
想了解更多建站百科的內(nèi)容,請(qǐng)?jiān)L問(wèn):建站百科
本文來(lái)源:http://www.sonygallery.com.cn/seojianzhan/17800.html