小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Asp.net夜話之一:asp.net介紹

 阮靈蘊(yùn) 2019-04-17

《asp.net夜話》封面

題外話:去年至今年以來(lái),陸續(xù)寫(xiě)過(guò)一些原創(chuàng)的文章了,很多是對(duì)原來(lái)所做項(xiàng)目的總結(jié)。所以并不是很系統(tǒng)很全面,都是針對(duì)某個(gè)知識(shí)點(diǎn)或者某個(gè)具體應(yīng)用寫(xiě)的,有些朋友建議我把自己的體會(huì)寫(xiě)成一個(gè)系統(tǒng)的,這次算是一個(gè)嘗試吧,寫(xiě)得不好的地方請(qǐng)大家盡量拋西紅柿不要丟磚頭。

之所以把這個(gè)系列叫做《asp.net夜話》,是有一些原因的,某不厭酒喜茶,酒越喝越糊涂,茶喝多了也仍然能保持清醒。白天很忙,所以每天回到家之后我會(huì)沏一壺茶,邊喝茶邊看書(shū),偶有心得體會(huì)就會(huì)用文字記錄下來(lái),過(guò)一段時(shí)間之后再將這些文字整理一下,覺(jué)得語(yǔ)句還算通暢的就發(fā)表在博客上了。這個(gè)關(guān)于asp.net系列的文章將會(huì)都在晚上完成,所以我叫它《asp.net夜話》。這個(gè)系列偏重于實(shí)際于asp.net開(kāi)發(fā)實(shí)戰(zhàn)中的理論和經(jīng)驗(yàn)方面的介紹。

本系列文章中會(huì)用到Macromedia Dreamweaver 8中文版、Microsoft Visual Studio 2005中文版和Microsoft SQL Server 2005中文版,請(qǐng)先安裝好相關(guān)軟件。

好了,開(kāi)始我們的正題。

在今天我主要要介紹的有如下知識(shí)點(diǎn):

XHTML語(yǔ)言

靜態(tài)網(wǎng)頁(yè)

動(dòng)態(tài)網(wǎng)頁(yè)

WEB服務(wù)器

Asp.net開(kāi)發(fā)的預(yù)備知識(shí)

另外在看本節(jié)時(shí),我可能會(huì)用到Macromedia Dreamweaver 8中文版,如果有條件,在自己的電腦上安裝一個(gè)會(huì)獲得更好的體驗(yàn)。

XHTML語(yǔ)言

在網(wǎng)頁(yè)開(kāi)發(fā)的早期,基本上都是使用HTML語(yǔ)言開(kāi)發(fā)的,它因?yàn)檎Z(yǔ)法要求比較松散,雖然對(duì)開(kāi)發(fā)者來(lái)說(shuō)比較方便,但是機(jī)器處理起來(lái)比較困難,所以在HTML的基礎(chǔ)上增加了XML的要求,這就形成了XHTML語(yǔ)言。XHTML說(shuō)白了就是符合XML標(biāo)準(zhǔn)的HTML語(yǔ)言。當(dāng)前版本的Macromedia Dreamweaver和Microsoft Visual Studio都支持XHTML開(kāi)發(fā)。

以下是Dreamweaver創(chuàng)建的空HTML頁(yè)面:

以下是Microsoft Visual Studio2005創(chuàng)建的空白aspx頁(yè)面:

注意用紅線標(biāo)出的部分,上面的表示我們創(chuàng)建的是符合XHTML標(biāo)準(zhǔn)的頁(yè)面。之所以要提到這些,是因?yàn)榻?jīng)常遇到一些初學(xué)者寫(xiě)出的頁(yè)面不符合標(biāo)準(zhǔn)在Visual Studio2005中無(wú)法在視圖界面中查看界面的效果。

靜態(tài)網(wǎng)頁(yè)
早期的網(wǎng)頁(yè)都是使用靜態(tài)網(wǎng)頁(yè)的,所謂的靜態(tài)網(wǎng)頁(yè)就是在網(wǎng)頁(yè)中不包含有需要在服務(wù)器端執(zhí)行的代碼。比如一個(gè)含有javascript特效的HTML網(wǎng)頁(yè)或一個(gè)含有flash的HTML網(wǎng)頁(yè),它們雖然在網(wǎng)頁(yè)呈現(xiàn)的效果會(huì)“動(dòng)”,甚至還有運(yùn)行代碼,但是都是在客戶端執(zhí)行的代碼,因而算不上動(dòng)態(tài)頁(yè)面。
靜態(tài)網(wǎng)頁(yè)的好處是服務(wù)器只需要簡(jiǎn)單地將網(wǎng)頁(yè)HTML創(chuàng)送給瀏覽器就行了。靜態(tài)的缺點(diǎn)是維護(hù)起來(lái)困難,不能使用數(shù)據(jù)庫(kù)帶來(lái)的好處。

動(dòng)態(tài)網(wǎng)頁(yè)
動(dòng)態(tài)網(wǎng)頁(yè)是網(wǎng)頁(yè)中包含有需要在Web服務(wù)器執(zhí)行的代碼。當(dāng)我們向Web服務(wù)器請(qǐng)求一個(gè)動(dòng)態(tài)網(wǎng)頁(yè)的時(shí)候,對(duì)于頁(yè)面的HTML代碼部分,Web服務(wù)器直接傳送給瀏覽器了,而對(duì)于需要在Web服務(wù)器執(zhí)行的代碼,自然是Web服務(wù)器執(zhí)行該部分代碼并將最終的執(zhí)行結(jié)果也就是HTML代碼傳送給瀏覽器,因?yàn)闉g覽器不認(rèn)識(shí)動(dòng)態(tài)代碼。也就是不論以何種語(yǔ)言編寫(xiě)的動(dòng)態(tài)網(wǎng)頁(yè),到達(dá)瀏覽器的時(shí)候都是HTML代碼。
當(dāng)然不同的編程語(yǔ)言編寫(xiě)的動(dòng)態(tài)網(wǎng)頁(yè),Web服務(wù)器會(huì)以不同的方式運(yùn)行這些代碼,更專業(yè)一點(diǎn)的說(shuō)法是Web服務(wù)器會(huì)交給不同的程序去執(zhí)行這些代碼,這些執(zhí)行代碼的程序我們稱之為腳本引擎。Web服務(wù)器將這些腳本引擎的執(zhí)行結(jié)果發(fā)送給瀏覽器。目前常見(jiàn)的動(dòng)態(tài)網(wǎng)頁(yè)jsp、asp、php及asp.net等。

Web服務(wù)器
Web服務(wù)器是用來(lái)接受客戶瀏覽器請(qǐng)求的,根據(jù)客戶端瀏覽器請(qǐng)求決定如何顯示網(wǎng)頁(yè)內(nèi)容。當(dāng)我們打開(kāi)一個(gè)網(wǎng)頁(yè)或者其它文件時(shí),Web服務(wù)器會(huì)設(shè)置決定如何將該文件的內(nèi)容交給客戶端。
目前比較流行的Web服務(wù)器有IIS(Internet Information Server)和Apache。前者是微軟開(kāi)發(fā)的,具有微軟一貫的使用簡(jiǎn)單的特點(diǎn),它運(yùn)行Windows操作系統(tǒng)上,而Apache是一個(gè)開(kāi)源軟件,有Windows和Linux等系統(tǒng)下版本。我們做asp.net開(kāi)發(fā)主要是使用IIS。
注意在某些系統(tǒng)安裝時(shí),默認(rèn)安裝可能沒(méi)有安裝IIS,需要我們手動(dòng)安裝。具體步驟如下:
打開(kāi)控制面板,找到“添加/刪除Windows組建”,點(diǎn)擊打開(kāi)界面,如下:

選中“Internet信息服務(wù)(IIS)”選項(xiàng),放入系統(tǒng)安裝盤(pán),點(diǎn)“下一步”就可以安裝了。

在服務(wù)器上部署asp.net網(wǎng)站的時(shí)候,需要.net的運(yùn)行環(huán)境.net framework, .net frameworkle類似于Java的JDK,包含有.net程序運(yùn)行環(huán)境和命令行編譯工具。如果服務(wù)器上沒(méi)有安裝.net framework,這就需要從微軟網(wǎng)站下載,下載網(wǎng)址是:http://msdn2.microsoft.com/zh-cn/default.aspx。還需要注意的是如果先安裝.net framework再安裝IIS的話,需要運(yùn)行一個(gè)命令向IIS注冊(cè).net framework,這個(gè)命令可以在系統(tǒng)分區(qū)去找,假如操作系統(tǒng)安裝在C盤(pán)并且安裝的.net framework的版本為2.0的話,那么這個(gè)文件的路徑就是:C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis.exe,在“運(yùn)行”窗口輸入:“C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis.exe –I”,如下圖:

點(diǎn)擊“確定”即可完成注冊(cè)。

我們不妨再對(duì)服務(wù)器進(jìn)行稍微深入一點(diǎn)的探索,我們運(yùn)行IIS軟件,會(huì)看到如下界面:

在“默認(rèn)網(wǎng)站”節(jié)點(diǎn)上點(diǎn)擊鼠標(biāo),在彈出的菜單中選擇“屬性”,會(huì)看到如下界面:

我們會(huì)看到共有8個(gè)選項(xiàng)卡,分別是“網(wǎng)站”、“ISAPI篩選器”、“主目錄”、“文檔”、“目錄安全性”、“HTTP頭”和“自定義錯(cuò)誤”及“ASP.NET”選項(xiàng)卡。這里介紹幾個(gè)常用來(lái)進(jìn)行配置的選項(xiàng)卡。
“網(wǎng)站”選項(xiàng)卡:網(wǎng)站選項(xiàng)卡是用來(lái)配置一些常規(guī)屬性的,比如我們的網(wǎng)站使用的端口號(hào)、IP地址等信息的。默認(rèn)Web服務(wù)器的端口號(hào)是80,不建議修改。


“主目錄”選項(xiàng)卡:

在“主目錄”選項(xiàng)卡我們可以設(shè)置網(wǎng)站或者虛擬目錄的物理路徑,還可以設(shè)置動(dòng)態(tài)網(wǎng)頁(yè)的執(zhí)行引擎。點(diǎn)擊“配置”選項(xiàng)卡,界面如下:

從上面的截圖可以看到,當(dāng)我們正確安裝了IIS和.net framework之后,aspx頁(yè)面就能被正確執(zhí)行了。選中.aspx點(diǎn)擊編輯,會(huì)彈出一個(gè)新界面,如下面:

可以看出.aspx頁(yè)面都是交由aspnet_isapi.dll執(zhí)行的。如果有自定的文件,需要交由服務(wù)器特殊處理,我們可以在這里配置。
“文檔”選項(xiàng)卡:

這個(gè)界面用于設(shè)置網(wǎng)站或者虛擬目錄的起始頁(yè)。所謂起始頁(yè),就是當(dāng)我們打開(kāi)一個(gè)網(wǎng)站或者虛擬目錄的時(shí)候,如果沒(méi)有特別指定訪問(wèn)哪個(gè)網(wǎng)頁(yè),Web會(huì)打開(kāi)的一個(gè)頁(yè)面。比如我們?cè)跒g覽器地址欄里輸入www.163.com,會(huì)打開(kāi)網(wǎng)易的首頁(yè),其實(shí)我們并沒(méi)有指定要訪問(wèn)哪個(gè)頁(yè)面,服務(wù)器采用一種默認(rèn)機(jī)制來(lái)打開(kāi)某個(gè)特定頁(yè)面。在上面的界面中,我們?cè)O(shè)置了多個(gè)頁(yè)面作為起始頁(yè),IIS會(huì)按照從上到下的順序檢查我們的網(wǎng)站或者虛擬目錄有沒(méi)有相應(yīng)的頁(yè)面。如果找到了符合條件的網(wǎng)頁(yè),那么停止繼續(xù)查找,把當(dāng)前頁(yè)面?zhèn)魉徒o客戶端瀏覽器。

“ASP.NET”選項(xiàng)卡
如果當(dāng)前機(jī)器上安裝了多個(gè).net framework版本,需要設(shè)置每個(gè)網(wǎng)站或者虛擬目錄的asp.net版本,這個(gè)需要與開(kāi)發(fā)時(shí)所使用.net版本一致。Visual Studio2002開(kāi)發(fā)的asp.net網(wǎng)站需要.net framework 1.0支持,Visual Studio2003開(kāi)發(fā)的網(wǎng)站需要.net framework 1.1支持,Visual Studio2005開(kāi)發(fā)的網(wǎng)站需要.net framework2.0支持。由于本人的機(jī)器上安裝了.net framework 1.1和.net framework2.0,所以下拉框中有兩個(gè).net framework的版本供選擇。如下圖:

另外,還介紹一個(gè)特殊的文件夾。它位于系統(tǒng)分區(qū)下,如下圖:

因?yàn)槲业南到y(tǒng)分區(qū)是C,并且IIS使用了.net framework2.0,所以這個(gè)文件夾是C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files。這個(gè)文件夾是用來(lái)存放我們的asp.net網(wǎng)頁(yè)生成的dll文件的。我們可以用Dreamweaver創(chuàng)建一個(gè)簡(jiǎn)單的asp.net網(wǎng)頁(yè)Test.aspx頁(yè)面,步驟如下:
打開(kāi)Dreamweaver,選擇“新建”,并且依次選擇“動(dòng)態(tài)頁(yè)”、“asp.net C#”,如下圖:

無(wú)需輸入任何代碼,將這個(gè)文件保存在系統(tǒng)分區(qū)下的Inetpub/wwwroot目錄(因?yàn)楸救说南到y(tǒng)分區(qū)為C,所以是C:/Inetpub/wwwroot),文件名為T(mén)est.aspx。然后在瀏覽器輸入:http://localhost/test.aspx,將會(huì)看到一個(gè)空白頁(yè)面。不過(guò)我們此時(shí)再看C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files這個(gè)文件夾,此時(shí)多了一個(gè)子文件夾root,如下圖:


 
我們繼續(xù)打開(kāi)這個(gè)文件夾,到最后會(huì)發(fā)現(xiàn)如下情形:
 
也就是對(duì)于我們剛剛創(chuàng)建的那個(gè)空白的Test.aspx頁(yè)面,經(jīng)過(guò)客戶端瀏覽器打開(kāi)之后,會(huì)在相應(yīng)的.net framework運(yùn)行版本下生成dll文件。
利用ILDASM工具打開(kāi)那個(gè)dll文件,我們可以看到這個(gè)dll文件內(nèi)部的信息(注:ILDASM是隨著.net framework一同發(fā)布的、用戶查看.net代碼編譯后生成的IL中間代碼的工具)。
 
可以看見(jiàn)這個(gè)dll文件中包含有ASP.test_aspx。
其實(shí)在我們第一次打開(kāi)asp.net網(wǎng)頁(yè)的時(shí)候,相應(yīng)的網(wǎng)頁(yè)會(huì)被編譯成dll文件,然后JIT來(lái)運(yùn)行這個(gè)dll文件。一旦這個(gè)文件再次發(fā)生變化,下次第一個(gè)請(qǐng)求這個(gè)網(wǎng)頁(yè)時(shí)又會(huì)被編譯成dll文件。并且為了防止文件名重名,生成的dll文件采用了隨機(jī)命名。
這也就是asp.net網(wǎng)頁(yè)不同于asp或者php的地方:asp.net頁(yè)面在第一次請(qǐng)求的時(shí)候會(huì)被編譯成dll文件,由JIT編譯執(zhí)行,因而aspx頁(yè)面第一次被打開(kāi)的時(shí)候比較慢,而以后執(zhí)行的時(shí)候就會(huì)比較快,因?yàn)橐院髨?zhí)行的時(shí)候除非修改了代碼否則就沒(méi)有必要重新生.dll文件了;而asp和php網(wǎng)頁(yè)每次運(yùn)行的時(shí)候都會(huì)被解釋執(zhí)行,因而asp.net網(wǎng)站的運(yùn)行速度要快。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多