日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

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

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

《asp.net夜話》封面

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

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

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

好了,開始我們的正題。

在今天我主要要介紹的有如下知識點:

XHTML語言

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

動態(tài)網(wǎng)頁

WEB服務(wù)器

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

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

XHTML語言

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

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

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

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

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

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

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

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

在服務(wù)器上部署asp.net網(wǎng)站的時候,需要.net的運(yùn)行環(huán)境.net framework, .net frameworkle類似于Java的JDK,包含有.net程序運(yùn)行環(huán)境和命令行編譯工具。如果服務(wù)器上沒有安裝.net framework,這就需要從微軟網(wǎng)站下載,下載網(wǎng)址是:http://msdn2.microsoft.com/zh-cn/default.aspx。還需要注意的是如果先安裝.net framework再安裝IIS的話,需要運(yùn)行一個命令向IIS注冊.net framework,這個命令可以在系統(tǒng)分區(qū)去找,假如操作系統(tǒng)安裝在C盤并且安裝的.net framework的版本為2.0的話,那么這個文件的路徑就是: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”,如下圖:

點擊“確定”即可完成注冊。

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

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

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


“主目錄”選項卡:

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

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

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

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

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

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

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

無需輸入任何代碼,將這個文件保存在系統(tǒng)分區(qū)下的Inetpub/wwwroot目錄(因為本人的系統(tǒng)分區(qū)為C,所以是C:/Inetpub/wwwroot),文件名為Test.aspx。然后在瀏覽器輸入:http://localhost/test.aspx,將會看到一個空白頁面。不過我們此時再看C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files這個文件夾,此時多了一個子文件夾root,如下圖:


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

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多