大型網(wǎng)站設(shè)計(jì)服務(wù)器端動(dòng)態(tài)主頁設(shè)計(jì)_第1頁
大型網(wǎng)站設(shè)計(jì)服務(wù)器端動(dòng)態(tài)主頁設(shè)計(jì)_第2頁
大型網(wǎng)站設(shè)計(jì)服務(wù)器端動(dòng)態(tài)主頁設(shè)計(jì)_第3頁
大型網(wǎng)站設(shè)計(jì)服務(wù)器端動(dòng)態(tài)主頁設(shè)計(jì)_第4頁
大型網(wǎng)站設(shè)計(jì)服務(wù)器端動(dòng)態(tài)主頁設(shè)計(jì)_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第七章 大型網(wǎng)站設(shè)計(jì)服務(wù)器端動(dòng)態(tài)主頁設(shè)計(jì)通過前面各章的介紹,相信大家已經(jīng)對(duì)網(wǎng)頁設(shè)計(jì)已經(jīng)有一個(gè)完整的認(rèn)識(shí)了。對(duì)于建立一個(gè)個(gè)人或者小型網(wǎng)站來說,利用前面給大家介紹的各種技術(shù)和工具就已經(jīng)能夠建立一個(gè)圖文并茂,動(dòng)態(tài)十足的網(wǎng)站了。但是,對(duì)于一個(gè)大型或者商業(yè)網(wǎng)站來說,這些技術(shù)只能夠提供Web頁面的建立和在靜態(tài)Web頁面的基礎(chǔ)上進(jìn)行的簡(jiǎn)單動(dòng)態(tài)交互,而大型或者商業(yè)網(wǎng)站的設(shè)計(jì)除了會(huì)關(guān)注網(wǎng)頁所呈現(xiàn)給用戶的外觀,它們更加關(guān)注網(wǎng)站的信息發(fā)布、信息收集以及信息處理的能力,而這些能力使用前面所介紹的技術(shù)是無法獲得的,因此計(jì)算機(jī)技術(shù)人員就開發(fā)出了各種服務(wù)器端動(dòng)態(tài)主頁設(shè)計(jì)技術(shù)來完成這些功能。通過本章的學(xué)習(xí),應(yīng)掌握以下內(nèi)容:A

2、SP.NET的特點(diǎn)及環(huán)境搭建ASP.NET的Web Form的應(yīng)用ASP.NET的數(shù)據(jù)庫(kù)編程的應(yīng)用ASP.NET的會(huì)話控制的應(yīng)用7.1服務(wù)器端動(dòng)態(tài)主頁設(shè)計(jì)概述7.1.1 服務(wù)器端動(dòng)態(tài)技術(shù)的誕生隨著Internet應(yīng)用的深入,Web技術(shù)引入的新的商機(jī)也逐漸為人們所注意。但是由于當(dāng)時(shí)的Web技術(shù)缺乏對(duì)交互和信息動(dòng)態(tài)更新的支持,阻礙的Web技術(shù)在商業(yè)領(lǐng)域的應(yīng)用。為了突破這種局限,計(jì)算機(jī)科學(xué)家進(jìn)行了很多種嘗試,提出了很多種對(duì)Web技術(shù)進(jìn)行信息交互功能擴(kuò)展的技術(shù),其中最早投入使用并迅速成為主流技術(shù)的是“通用網(wǎng)關(guān)接口(CGI)”技術(shù),它的全稱是Common Gateway Interface,它的出現(xiàn)令W

3、eb技術(shù)擁有了強(qiáng)大的交互能力,并且擴(kuò)展了WWW Server的功能,例如WWW Server和數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)交互的能力、WWW Server運(yùn)行服務(wù)器進(jìn)程的能力等。這些擴(kuò)展加速了Web技術(shù)在商業(yè)上的應(yīng)用,并且促進(jìn)了各種大型網(wǎng)站的誕生。CGI技術(shù)在其誕生之初以其強(qiáng)大的功能成為90%大型網(wǎng)站首選的構(gòu)建技術(shù),但是通過使用人們發(fā)現(xiàn)CGI技術(shù)存在兩個(gè)致命的問題。首先,由于CGI技術(shù)提供了WWW Server服務(wù)器和主機(jī)程序的交互能力,也使CGI技術(shù)存在比較嚴(yán)重的安全問題,惡意黑客可以通過CGI技術(shù)的漏洞控制服務(wù)器并造成服務(wù)的癱瘓和數(shù)據(jù)的損失;其次,CGI技術(shù)需要為每一次訪問建立一個(gè)進(jìn)程來完成

4、對(duì)CGI腳本的處理,如果網(wǎng)站的訪問量比較大,那么這種處理方式將嚴(yán)重影響網(wǎng)站的性能。由于這些問題的存在,各大軟件廠商都紛紛推出新的技術(shù)來替代CGI技術(shù),其中比較有影響力的包括PHP、JSP和ASP等等,其中又以MicroSoft公司推出的ASP技術(shù)使用最廣泛。2000年秋天,MicroSoft公司推出了ASP技術(shù)的升級(jí)版ASP.NET技術(shù),本章將通過對(duì)ASP.NET技術(shù)的介紹,幫助同學(xué)們了解和掌握一種服務(wù)器端編程技術(shù),擁有建立大型網(wǎng)站的能力。1. ASP技術(shù)的歷史在講述ASP.NET歷史之前,首先來回顧一下ASP。ASP的第一個(gè)版本是0.9測(cè)試版。它給WEB開發(fā)帶來一陣暴風(fēng),它能夠?qū)⒋a直接嵌入

5、HTML,使得設(shè)計(jì)WEB頁面變得更簡(jiǎn)單,更強(qiáng)大,并且通過內(nèi)置的組件能夠?qū)崿F(xiàn)強(qiáng)大功能,最明顯的就是ActiveX Data Objects (ADO),它使得建立一個(gè)動(dòng)態(tài)頁面如小孩子玩游戲一樣簡(jiǎn)單。最終出場(chǎng)的是Active Server Page 1.0,它做為IIS的附屬產(chǎn)品免費(fèi)發(fā)送。并且不久就在Windows平臺(tái)上廣泛使用。ASP與ADO的結(jié)合使用開發(fā)者很容易地在一個(gè)數(shù)據(jù)庫(kù)中建立和打開一個(gè)記錄集。這不無疑是它如此快就被大眾接受的因素,因?yàn)槟悻F(xiàn)在能使用這些腳本建立和打開一個(gè)記錄集,處理和輸出任何數(shù)據(jù),以任何順序,幾乎只要你能想到的,它就能完成。 1998年,微軟公司又發(fā)布了ASP 2.0 。A

6、SP 1.0和ASP 2.0主要區(qū)別是外部的組件需要實(shí)例化。有了ASP 2.0 和IIS 4.0,我們就有可能建立ASP應(yīng)用了,而且每個(gè)組件就有了自已單獨(dú)的內(nèi)存空間。內(nèi)置的MicroSoft Transaction Server(MTS)也使用制做組件便得簡(jiǎn)單。微軟公司接著開發(fā)了Windows 2000操作系統(tǒng)。 這個(gè)Windows版本給我們帶上了IIS 5.0 以及 ASP 3.0。此次并不是簡(jiǎn)單對(duì)ASP進(jìn)行補(bǔ)充,核心的不同實(shí)際上是把很多的事情交給了COM來做。在windows 2000中,微軟結(jié)合了MTS與COM核心環(huán)境做出了COM+,這就讓主機(jī)有了一種新的方法來使用組件,同樣給主機(jī)帶來了

7、更多的穩(wěn)定性,成了一個(gè)可以升級(jí)的效率高的工作平臺(tái)。IIS 5.0在表面上似乎沒有改什么,但是在接口上動(dòng)的手術(shù)比較大。在內(nèi)部,它使用COM+ 組件服務(wù)來對(duì)組件提供一個(gè)更好的執(zhí)行的環(huán)境。有了這些,微軟公司推出了ASP.NET,ASP.NET又叫ASP.NET,他不是ASP的簡(jiǎn)單升級(jí),而是MicroSoft推出的新一代Active Server Pages。ASP.NET是微軟發(fā)展的新的體系結(jié).NET的一部分,其中全新的技術(shù)架構(gòu)會(huì)讓每個(gè)人的編程生活變得更的簡(jiǎn)單7.1.2 MicroSoft.NET與ASP.NET 2000年秋天,IT業(yè)巨頭MicroSoft公司發(fā)布了其以網(wǎng)絡(luò)為核心的新的技術(shù)框架Mi

8、croSoft.NET技術(shù)框架,表明微軟將以網(wǎng)絡(luò)為中心,徹底轉(zhuǎn)換產(chǎn)品研發(fā)、發(fā)布的方式,改變產(chǎn)品和服務(wù)的范圍。在MicroSoft.NET技術(shù)框架中,ASP.NET技術(shù)是其中的一個(gè)最主要的組成部分之一,它是ASP的下一代版本,然而ASP.NET又并非從ASP3.0自然演化而來,在許多方面,ASP.NET與ASP有著本質(zhì)的不同。ASP.NET完全基于模塊與組件,具有更好的可擴(kuò)展性與可定制性,數(shù)據(jù)處理方面更是引入了許多激動(dòng)人心的新技術(shù),正是這些具有革新意義的新特性,讓ASP.NET遠(yuǎn)遠(yuǎn)超越了ASP,同時(shí)也提供給WEB開發(fā)人員更好的靈活性,有效縮短了WEB應(yīng)用程序的開發(fā)周期。ASP.NET與Windo

9、ws 2000 Server/Advanced Server的完美組合,為中小型乃至企業(yè)級(jí)的web商業(yè)模型提供了一個(gè)更為穩(wěn)定,高效,安全的運(yùn)行環(huán)境。要了解ASP.NET的真實(shí)面目,首先就得了解一下微軟.NET戰(zhàn)略。1. Microsoft.NET的歷史隨著網(wǎng)絡(luò)經(jīng)濟(jì)的到來,微軟公司希望幫助用戶,能夠在任何時(shí)候、任何地方、利用任何工具都可以獲得網(wǎng)絡(luò)上的信息,并享受網(wǎng)絡(luò)通信所帶來的快樂。.NET戰(zhàn)略就是為著實(shí)現(xiàn)這樣的目標(biāo)而設(shè)立的。微軟公開宣布,今后將著重于網(wǎng)絡(luò)服務(wù)和網(wǎng)絡(luò)資源共享的開發(fā)工作,并稱,將會(huì)為公眾提供更加豐富、有用的網(wǎng)絡(luò)資源與服務(wù)。微軟新一代平臺(tái)的正式名稱叫做“新一代Windows服務(wù)”(N

10、GWS),現(xiàn)在微軟已經(jīng)給這個(gè)平臺(tái)注冊(cè)了正式的商標(biāo)MicroSoft.Net。在.Net環(huán)境中,微軟不僅僅是平臺(tái)和產(chǎn)品的開發(fā)者,并且還將作為架構(gòu)服務(wù)提供商、應(yīng)用程序提供商,開展全方位的Internet服務(wù)。在談及這個(gè)平臺(tái)中使用的新技術(shù),微軟透露,它將在.Net環(huán)境中提供更多新產(chǎn)品和一攬子的全套服務(wù)。MicroSoft .NET平臺(tái)的基本思想是:側(cè)重點(diǎn)從連接到互聯(lián)網(wǎng)的單一網(wǎng)站或設(shè)備上,轉(zhuǎn)移到計(jì)算機(jī)、設(shè)備和服務(wù)群組上,使其通力合作,提供更廣泛更豐富的解決方案。用戶將能夠控制信息的傳送方式、時(shí)間和內(nèi)容。計(jì)算機(jī)、設(shè)備和服務(wù)將能夠相輔相成,從而提供豐富的服務(wù),而不是像孤島那樣,由用戶提供唯一的集成。企業(yè)可

11、以提供一種方式,允許用戶將它們的產(chǎn)品和服務(wù)無縫地嵌入自己的電子構(gòu)架中。這種思路將擴(kuò)展二十世紀(jì)八十年代首先由PC賦予的個(gè)人權(quán)限。MicroSoft .NET將開創(chuàng)互聯(lián)網(wǎng)的新局面,基于HTML的顯示信息將通過可編程的基于XML的信息得到增強(qiáng)。XML是經(jīng)“萬維網(wǎng)聯(lián)盟”定義的受到廣泛支持的行業(yè)標(biāo)準(zhǔn),Web瀏覽器標(biāo)準(zhǔn)也是由該組織創(chuàng)建的。微軟公司為開發(fā)它投入了大量精力,但它并不是MicroSoft的專有技術(shù)。XML提供了一種從數(shù)據(jù)的演示視圖分離出實(shí)際數(shù)據(jù)的方式。這是新一代互聯(lián)網(wǎng)的關(guān)鍵,提供了開啟信息的方式,以便對(duì)信息進(jìn)行組織、編程和編輯;可以更有效地將數(shù)據(jù)分布到不同的數(shù)字設(shè)備;允許各站點(diǎn)進(jìn)行合作,提供一組

12、可以相互作用的“Web服務(wù)”。MicroSoft .NET綜述MicroSoft .NET平臺(tái)包括用于創(chuàng)建和操作新一代服務(wù)的.NET基礎(chǔ)結(jié)構(gòu)和工具;可以啟用大量客戶機(jī)的.NET User Experience;用于建立新一代高度分布式的數(shù)以百萬計(jì)的.NET積木式組件服務(wù);以及用于啟用新一代智能互聯(lián)網(wǎng)設(shè)備的.NET設(shè)備軟件。MicroSoft .NET產(chǎn)品和服務(wù)包括Windows.NET,連同建立積木式服務(wù)的核心集成套件;MSNTM .NET;個(gè)人訂購(gòu)服務(wù);Office.NET;Visual Studio .NET;以及用于.NET的bCentralTM。.Net環(huán)境中的突破性改進(jìn)在于:1使用統(tǒng)

13、一的Internet標(biāo)準(zhǔn)(如XML)將不同的系統(tǒng)對(duì)接;2這是Internet上首個(gè)大規(guī)模的高度分布式應(yīng)用服務(wù)架構(gòu);3使用了一個(gè)名為“聯(lián)盟”的管理程序,這個(gè)程序能全面管理平臺(tái)中運(yùn)行的服務(wù)程序,并且為它們提供強(qiáng)大的安全保護(hù)后臺(tái);.NET平臺(tái)包括如下組件:1用戶數(shù)據(jù)訪問技術(shù)。其中包括一個(gè)新的基于XML的、以瀏覽器為組件的混合信息 架構(gòu),叫做“通用畫板”;2基于Windows DNA 2000的構(gòu)建和開發(fā)工具;3一系列模塊化的服務(wù),其中包括認(rèn)證、信息傳遞、存儲(chǔ)、搜索和軟件送遞功能;4一系列驅(qū)動(dòng)客戶設(shè)備的軟件;2. 什么是ASP.NET?本節(jié)將詳細(xì)介紹稱為Active Server Pages+ (AS

14、P.NET)的網(wǎng)絡(luò)應(yīng)用程序可編程模板。建立在Microsoft .NET框架 上網(wǎng)絡(luò)應(yīng)用程序共享一個(gè)通用應(yīng)用程序模板。在這個(gè)模型中,網(wǎng)絡(luò)應(yīng)用程序是一套起源于基URL 的URLs。因此它包含用于生成在瀏覽器中觀看的網(wǎng)頁的網(wǎng)絡(luò)應(yīng)用程序和網(wǎng)絡(luò)服務(wù)。如同名字所述,ASP.NET是由活動(dòng)服務(wù)器頁面(ASP)發(fā)展而來。ASP.NET利用common language runtime 和服務(wù)框架網(wǎng)絡(luò)應(yīng)用程序提供了一個(gè)可靠的、自動(dòng)化的、可擴(kuò)展的主機(jī)環(huán)境。ASP.NET也受益于common language runtime 集成模板,簡(jiǎn)化了應(yīng)用程序的配制。另外,它提供簡(jiǎn)化應(yīng)用程序開發(fā)的服務(wù)(如狀態(tài)管理服務(wù))以及

15、高水平的編程模板(如ASP.NET Web Forms和ASP.NET Web Services)。ASP.NET的核心是HTTP運(yùn)行語言,一個(gè)高性能的用于處理基于低級(jí)結(jié)構(gòu)的HTTP請(qǐng)求的運(yùn)行語言,而基于的結(jié)構(gòu)與MicroSoft Internet Information Services (IIS)所提供的ISAPI結(jié)構(gòu)相似。HTTP 運(yùn)行語言是在象服務(wù)器上的IIS或客戶機(jī)上的IE之類的unmanaged 主機(jī)過程中運(yùn)行的受控代碼。HTTP runtime負(fù)責(zé)處理引入的所有HTTP請(qǐng)求,并對(duì)每個(gè)請(qǐng)求應(yīng)用程序的URL進(jìn)行解析,然后把請(qǐng)求分配到應(yīng)用程序以進(jìn)行進(jìn)一步的處理。HTTP 運(yùn)行語言是多線

16、程的,并異步處理請(qǐng)求,因此劣質(zhì)的應(yīng)用程序代碼阻礙不了它對(duì)新請(qǐng)求的處理。而且HTTP 運(yùn)行語言假定失敗必會(huì)發(fā)生,因此它被控制為盡最大力量自動(dòng)地從訪問沖突、內(nèi)存泄漏、死鎖等事故中恢復(fù)過來。除非是硬件故障,運(yùn)行語言的目標(biāo)是100%的可靠性。網(wǎng)絡(luò)基本上是一個(gè)無狀態(tài)模型,并且在HTTP請(qǐng)求間沒有聯(lián)系,這使得編寫網(wǎng)絡(luò)應(yīng)用程序很困難,因?yàn)閼?yīng)用程序通常需要維護(hù)跨多個(gè)請(qǐng)求的狀態(tài)。ASP.NET增強(qiáng)了由ASP引入的狀態(tài)管理服務(wù),以便為網(wǎng)絡(luò)應(yīng)用程序提供三種類型的狀態(tài):應(yīng)用程序、會(huì)話、用戶。就象在ASP中一樣,應(yīng)用程序狀態(tài)特定于一個(gè)應(yīng)用程序?qū)嵗?,并且不?huì)持久。會(huì)話狀態(tài)是特定于一個(gè)用戶與應(yīng)用程序間的會(huì)話的。與ASP會(huì)話

17、狀態(tài)不同,ASP.NET會(huì)話狀態(tài)儲(chǔ)存在一個(gè)獨(dú)立的過程中,并且可把它配制成可以儲(chǔ)存到一個(gè)獨(dú)立的機(jī)器上。這使得會(huì)話狀態(tài)當(dāng)應(yīng)用程序在網(wǎng)絡(luò)群(Web farm)擴(kuò)展時(shí)非常有用。用戶狀態(tài)類似于會(huì)話狀態(tài),但通常它不會(huì)超時(shí),并且是永久性的。因此,用戶狀態(tài)對(duì)儲(chǔ)存用戶參數(shù)和其它個(gè)性化的信息是有用的。所有狀態(tài)管理服務(wù)都被實(shí)現(xiàn)為HTTP模塊,因此它們?nèi)菀自黾拥綉?yīng)用程序管道中,或從中刪除。如果除了由ASP.NET提供的服務(wù)外,還需要額外的狀態(tài)管理服務(wù),那么可由第三方的模塊提供。ASP.NET同樣提供高速緩沖服務(wù),以改善性能。輸出緩沖可完全節(jié)省網(wǎng)頁翻譯,段緩沖儲(chǔ)存部分的網(wǎng)頁。由于提供了相應(yīng)的類,所以只要需要,應(yīng)用程序、

18、HTTP模塊以及請(qǐng)求處理程序可以在高速緩存中儲(chǔ)存任意數(shù)量的對(duì)象。7.1.3 ASP.NET的組成ASP.NET應(yīng)用程序可編程模板主要是有兩個(gè)高級(jí)可編程模塊構(gòu)成,下面就簡(jiǎn)單介紹一下這兩個(gè)高級(jí)可編程模塊,它們分別是:ASP.NET網(wǎng)絡(luò)表單(Web Form)和ASP.NET網(wǎng)絡(luò)服務(wù)(Web Service)。1. ASP.NET網(wǎng)絡(luò)表單網(wǎng)絡(luò)表單把基于Visual Basic的表單的高生產(chǎn)性的優(yōu)點(diǎn)帶到了網(wǎng)絡(luò)應(yīng)用程序的開發(fā)中來。網(wǎng)絡(luò)表單支持傳統(tǒng)的將HTML內(nèi)容與角本代碼混合的ASP語法,但是它提出了一種將應(yīng)用程序代碼和用戶接口內(nèi)容分離的更加結(jié)構(gòu)化的方法。引入的網(wǎng)絡(luò)表單控件用于為封裝通用用戶接口元素提供

19、了一種機(jī)制。這些新的特點(diǎn)使得開發(fā)工具在支持VB小應(yīng)用程序的同時(shí),也支持設(shè)計(jì)時(shí)模塊,使得WUSIWYG工具支持網(wǎng)頁布局。網(wǎng)絡(luò)表單控件負(fù)責(zé)生成用戶接口,典型情況是在HTML表單中。ASP.NET是提供了一套映射傳統(tǒng)的HTML用戶接口小部件(包括列表框,文本框和按鈕)的網(wǎng)絡(luò)表單控件和一套附加的更加復(fù)雜的網(wǎng)絡(luò)控件(如日歷和廣告轉(zhuǎn)板)。這些控件的一個(gè)重要特點(diǎn)是,它們可以被編寫以適應(yīng)客戶端的能力;同一網(wǎng)頁把大范圍的客戶端平臺(tái)和表單因素作為目標(biāo)。換句話說,網(wǎng)絡(luò)表單控件能“嗅”到正在查找表單的客戶,然后返回合適的用戶經(jīng)驗(yàn)可能是適合低級(jí)瀏覽器的HTML3.2或是適于IE5.0的動(dòng)態(tài)HTML。考慮到網(wǎng)絡(luò)是一種無狀

20、態(tài)的聯(lián)接模型,網(wǎng)絡(luò)應(yīng)用程序開發(fā)人員所面臨的一個(gè)很復(fù)雜的問題是,他們要對(duì)用戶與基于網(wǎng)絡(luò)的接口的交互作用作出反應(yīng)。網(wǎng)絡(luò)利用ASP.NET的體系架構(gòu)提供了一套豐富的服務(wù),以幫助開發(fā)人員建立交互式網(wǎng)頁。這些服務(wù)的凈作用是使基于組件的、事件驅(qū)動(dòng)的可編程模塊,對(duì)開發(fā)人員來說,非常象客戶端的表單程序設(shè)計(jì)。用戶與網(wǎng)頁交互作用的狀態(tài)管理的復(fù)雜性被ASP.NET 網(wǎng)絡(luò) 表單和網(wǎng)絡(luò)表單控件隱藏起來了。對(duì)開發(fā)人員來說,提供的豐富數(shù)據(jù)綁定服務(wù)使得顯示通過數(shù)據(jù)訪問服務(wù)得到的數(shù)據(jù)變得非常容易。代碼與內(nèi)容的分離使ASP.NET網(wǎng)頁能動(dòng)態(tài)地編譯到受控類中,用以提高性能。每個(gè)引入的HTTP請(qǐng)求都被傳遞到一個(gè)新的網(wǎng)頁實(shí)例,因此開發(fā)

21、人員不需要關(guān)心代碼中的線程安全性。2. ASP.NET網(wǎng)絡(luò)服務(wù)ASP.NET 網(wǎng)絡(luò) 服務(wù)體系架構(gòu)為用ASP.NET建立網(wǎng)絡(luò) 服務(wù)提供了一高級(jí)可編程模板。雖然建立網(wǎng)絡(luò)服務(wù)并不需要使用網(wǎng)絡(luò) 服務(wù)平臺(tái),但是它提供許多的優(yōu)點(diǎn)將簡(jiǎn)化開發(fā)過程,并且它使用的編程模型對(duì)用ASP或VB工作的開發(fā)人員來說是很熟悉的。使用這個(gè)可編程模型,開發(fā)人員不需要理解HTTP、SOAP或其它任何網(wǎng)絡(luò)服務(wù)規(guī)范。開發(fā)人員用ASP.NET生成一個(gè)擴(kuò)展名為.asmx的文件,并把此文件配制為網(wǎng)絡(luò)應(yīng)用程序的一部分,就建立起了一個(gè)網(wǎng)絡(luò) 服務(wù)。ASMX文件或者包含對(duì)在其它地方定義的受控類的引用,或者包含這個(gè)類的定義。這個(gè)類是由ASP.NET提

22、供的WebService類所派生。公有的類方法在標(biāo)記上WebMethod屬性后,就會(huì)成為網(wǎng)絡(luò)服務(wù)方法,把HTTP請(qǐng)求發(fā)送到ASMX文件中的URL后,這些方法就會(huì)被調(diào)用。你不必手工為你的網(wǎng)絡(luò)服務(wù)建立一個(gè)契約。當(dāng)被調(diào)用者請(qǐng)求時(shí),ASP.NET檢查類的元數(shù)據(jù),以自動(dòng)生成SCL文件??蛻艨赏ㄟ^SOAP,HTTP GET 和HTTP POST提交請(qǐng)求。對(duì)方法和參數(shù)進(jìn)行編碼的約定是:對(duì)HTTP GET,將被編碼為查詢字符串;對(duì)HTTP POST,將被編碼為表單數(shù)據(jù)。HTTP GET 和HTTP POST 的機(jī)制不如SOAP有力,但是它們使得客戶在訪問網(wǎng)絡(luò)服務(wù)時(shí)不必支持SOAP。ASP.NET 網(wǎng)絡(luò)服務(wù)模型

23、假定了一個(gè)無狀態(tài)服務(wù)結(jié)構(gòu)。無狀態(tài)結(jié)構(gòu)通常比有狀態(tài)結(jié)構(gòu)更具可擴(kuò)展性。每次收到一個(gè)服務(wù)請(qǐng)求后,就生成一個(gè)新對(duì)象,請(qǐng)求被轉(zhuǎn)化為一個(gè)方法調(diào)用,當(dāng)方法調(diào)用返回時(shí)對(duì)象被銷毀。如果這些服務(wù)需要跨請(qǐng)求維護(hù)狀態(tài),那么它們將使用ASP.NET狀態(tài)管理服務(wù)。基于ASP.NET的網(wǎng)絡(luò)服務(wù)在網(wǎng)絡(luò)應(yīng)用程序模型中運(yùn)行,因此它們得到了該模型的所有安全、配制和其它優(yōu)點(diǎn)。ASP.NET 網(wǎng)絡(luò)服務(wù)還提供了一個(gè)為在SCL文件中描述的網(wǎng)絡(luò)服務(wù)生成分類的受控代理工具。代理生成器把SCL文件中描述的消息映射成受控類中的方法。代理對(duì)應(yīng)用程序代碼隱藏了所有的網(wǎng)絡(luò)和引導(dǎo)設(shè)備,因此使用網(wǎng)絡(luò)服務(wù)看起來就象使用其它受控代碼一樣。代理將優(yōu)先使用SOAP

24、鏈接網(wǎng)絡(luò)服務(wù),但是它同樣支持HTTP GET和 HTTP POST機(jī)制。因此HTTP GET和 HTTP POST同樣也能被使用。網(wǎng)絡(luò)服務(wù)為在Internet上綁定應(yīng)用程序提供了一個(gè)利用現(xiàn)存體系架構(gòu)和應(yīng)用程序的簡(jiǎn)單的、靈活的、基于許多標(biāo)準(zhǔn)的模型。網(wǎng)絡(luò)應(yīng)用程序很容易與當(dāng)?shù)亻_發(fā)的服務(wù)或已存在的服務(wù)集成在一起,而不用考慮開發(fā)平臺(tái)、開發(fā)語言或使用的對(duì)象模型,以用于實(shí)現(xiàn)任何組成的服務(wù)或應(yīng)用程序。7.1.4 ASP.NET的開發(fā)語言1. ASP.NET的開發(fā)語言簡(jiǎn)介在前面的內(nèi)容中介紹過,ASP.NET是基于Microsoft.NET平臺(tái)的一種應(yīng)用程序可編程模板,得益于Microsoft.NET平臺(tái)的CLR

25、特性,開發(fā)者可以使用多種編程語言進(jìn)行開發(fā),這些包括Visual Bacis.NET、JScript.NET、C#.NET、Visual C+.NET,甚至Delphi。越來越多的語言也都加入到了Microsoft.NET陣營(yíng)中,使用各種語言開發(fā)的ASP.NET應(yīng)用,在接受用戶訪問的時(shí)候,將首先被轉(zhuǎn)換成在.NET平臺(tái)的CLR,然后對(duì)代碼進(jìn)行執(zhí)行。在這些語言中C#.NET是微軟公司推薦進(jìn)行ASP.NET開發(fā)的語言,C#是一種面向?qū)ο笳Z言,這種語言的語法類似于C和C+語言,又融入了Java語言的優(yōu)點(diǎn),保留了開發(fā)這熟悉的C語言的語法,又解決了C語言安全性難以控制的問題。在本書的所有實(shí)例的開發(fā)中,也將使

26、用C#作為開發(fā)語言,讀者可以在實(shí)際的應(yīng)用過程中舉一反三,使用自己熟悉的語言進(jìn)行ASP.NET的開發(fā)。2. C#.NET簡(jiǎn)介C#語言是微軟公司針對(duì).Net平臺(tái)開發(fā)的一種全新的編程語言。盡管C#象是C,和C+語言的升級(jí)語言,但是他不象他的前身那樣,C#是一個(gè)完全面向?qū)ο蟮拈_發(fā)語言。它既有Visual Basic的快速開發(fā)的特點(diǎn),又具有C+的強(qiáng)大的功能。它的風(fēng)格類似與C、C+和Java。如果你是一個(gè)C、C+或者Java的程序員,你會(huì)發(fā)現(xiàn)你可以很快的使用C#進(jìn)行開發(fā)。和VB.NET一樣,C#可以利用公共語言運(yùn)行時(shí)給我們帶來的各種好處。例如:語言的交互性,垃圾回收機(jī)制,增強(qiáng)的安全性能,以及版本兼容。C#

27、是一種完全面向?qū)ο蟮拈_發(fā)語言,因此在C#中最基本的語法元素就是類。和其他的面向?qū)ο笳Z言一樣,類是一類具共同屬性和操作的對(duì)象的集合。一個(gè)類可以從另一個(gè)類繼承,在C#中,類是不可以繼承多個(gè)類的,但是它可以繼承多個(gè)接口。每一個(gè)類都是由其特有的屬性和方法構(gòu)成的,屬性用來保存這個(gè)類的對(duì)象相關(guān)的數(shù)據(jù),方法就是定義類的對(duì)象能夠執(zhí)行的操作,也就是對(duì)象的功能。和其他的面向?qū)ο笳Z言一樣,C#也提供了繼承,接口等其它面向?qū)ο蟮奶匦浴?.1.5 小結(jié)在本節(jié)中,給讀者簡(jiǎn)單介紹了服務(wù)器端動(dòng)態(tài)網(wǎng)頁技術(shù)的產(chǎn)生和發(fā)展,簡(jiǎn)單介紹了當(dāng)前流行的服務(wù)器端動(dòng)態(tài)網(wǎng)頁設(shè)計(jì)技術(shù),并從中選擇了ASP.NET技術(shù)作為本章講授的重點(diǎn)。接下來介紹了A

28、SP技術(shù)的發(fā)展歷史,最后著重介紹了ASP.NET技術(shù)的組成以及ASP.NET技術(shù)的基礎(chǔ)平臺(tái)Microsoft.NET平臺(tái)的組成和特點(diǎn)。7.2 ASP.NET基礎(chǔ)在本書接下來的內(nèi)容里,本書將利用實(shí)例詳細(xì)地給讀者介紹怎樣使用ASP.NET來進(jìn)行服務(wù)器端動(dòng)態(tài)主頁的設(shè)計(jì)。ASP.NET是MicorSoft.NET平臺(tái)的一種可編程開發(fā)模板,那么ASP.NET的運(yùn)行也是基于MicorSoft.NET平臺(tái)環(huán)境之上的。要進(jìn)行ASP.NET的開發(fā)工作,首先要配置ASP.NET的運(yùn)行環(huán)境的開發(fā)環(huán)境。7.2.1 .NET的安裝與運(yùn)行環(huán)境1.運(yùn)行環(huán)境配置當(dāng)前的MS.NET Framework的版本是1.1版,安裝好M

29、S.NET Framework1.1之后系統(tǒng)就會(huì)提供對(duì)ASP.NET的支持,下面是安裝MS.NET Framework的硬件和軟件環(huán)境要求:ASP.NET的調(diào)試環(huán)境操作系統(tǒng): Windows 2000 Professional,Windows 2000 Server ,Windows 2000 Advanced Server 瀏覽器:IE 5.5 支持哪幾種語言 ASP.NET 目前能支持3種與語言, C# (讀作 C Sharp), Visual Basic,and Jscrip。使你的機(jī)器支持ASP.NET,必須滿足以下配置: 硬件要求:1、 CPU: Intel Pentium II 3

30、00 MHz (最好Intel Pentium III 600 MHz) 2、 內(nèi)存: 96 MB (最好128 MB) 3、 磁盤空間: 250 MB(完全安裝) 155 MB(快速安裝)4、 顯示: 800x600, 256 colors 5、 CD-ROM: required 軟件要求:1、 MicroSoft Windows 2000 + SP12、 MicroSoft Internet Explorer 5.5 3、 IIS5.04 、其它: MDAC 2.6 ASP.NET的安裝過程很簡(jiǎn)單,只需按照簡(jiǎn)單提示安裝即可。 ASP.NET(NGWS SDK)的下載地址:http:/www

31、./downloads/details.aspx?FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3&displaylang=en 安裝微軟的VisualStudio.NET和安裝ASP.NET很多地方有驚人的相似,所以在此簡(jiǎn)單地提一下。 安裝VS.NET版本的記得必須先安裝以下內(nèi)容: 1、windows2000 sp1 2、安裝IE5.5 3、必須要裝有iis,而且iiS要帶front page擴(kuò)展 4、front page服務(wù)擴(kuò)展的補(bǔ)丁QFE需要注意的是,如果在安裝IIS之前就已經(jīng)安裝好了VS.NET IDE的話,需要重新安

32、裝MS.NET Framework才能在VS.NET IDE中創(chuàng)建ASP.NET應(yīng)用程序。2. 運(yùn)行VisualStudio.NET IDE環(huán)境微軟的VS.NET IDE(Integration Design Environment)是一個(gè)非常豐富的變成環(huán)境,可以進(jìn)行C#、VC+、VB.NET、ASPX等的編程,你甚至也可以編寫ASP文件。首先看到的是IDE,如圖1所示。VS.NET IDE看起來很熟悉,和低版本的VS IDE類似,它在低版本的VS IDE的基礎(chǔ)上又有了新的提高。圖1 VisualStudio.NET 的IDE整體布局然而,IDE的變化絕非是表面性的。所有的.NET語言都使用同

33、一個(gè)IDE,其中的新工具的功能是強(qiáng)大而全面的,用戶可以把任何一個(gè)設(shè)計(jì)窗口設(shè)定為自動(dòng)隱藏(就象Windows中的任務(wù)條一樣),這樣就可以使桌面顯得不太凌亂,如圖2所示:圖2 右上角的“圖釘”按鈕用來控制窗口自動(dòng)隱藏主工作區(qū)是由一系列的標(biāo)簽和窗口組成,也就是說IDE不會(huì)同時(shí)顯示許多的窗口或代碼模塊,在打開對(duì)象的源代碼時(shí),IDE就會(huì)在相應(yīng)對(duì)象的主區(qū)內(nèi)增加新按鈕。如圖1所示,WebForm1.aspx就是當(dāng)前打開的代碼模塊。IDE中還有一個(gè)新的被稱作任務(wù)列表的窗口,其中的內(nèi)容包括你和IDE創(chuàng)建的項(xiàng)目。例如,如果在編譯一個(gè)VB項(xiàng)目時(shí)收到一個(gè)錯(cuò)誤信息,VB就會(huì)在任務(wù)列表中創(chuàng)建一個(gè)條目來解釋這個(gè)問題。如圖1

34、所示,最下方的窗口就是任務(wù)列表窗口。用戶還可以直接在任務(wù)列表中添加一個(gè)條目,或者通過在代碼中建立以TODO:開頭的注釋把代碼中的一個(gè)位置與任務(wù)聯(lián)系起來。任務(wù)清單是一個(gè)非常強(qiáng)大的工具,它能使開發(fā)者節(jié)約不少的時(shí)間,并有助于開發(fā)者能夠更好地調(diào)試自己的軟件。過去,VB隱藏了創(chuàng)建一個(gè)窗體所必需的全部工作。我們使用IDE創(chuàng)建一個(gè)窗體,并在Initialize事件處理程序中添加代碼,但對(duì)于發(fā)生在這兩者之間的過程則無能為力。在VB.NET中,窗體成了一個(gè)類,包含創(chuàng)建窗體的全部代碼,一些高級(jí)開發(fā)人員可以通過這些代碼完成一些很酷的工作。代碼編輯器還包括一些新的特性,例如可以自動(dòng)地對(duì)編輯的源代碼進(jìn)行縮進(jìn)處理,而且可

35、以顯示源代碼的行號(hào),如圖3所示:圖3 VS.NET IDE將原本封閉的代碼開放出來在VS.NET的IDE中,提供了非常多便利的功能,幫助開發(fā)者快速安全的完成開發(fā)工作。想要完整地介紹VS.NET IDE的使用可能需要一本書的篇幅,因此,在這里就不詳細(xì)地介紹了,在本書后面的內(nèi)容里,會(huì)將各種常用的功能分別進(jìn)行介紹。7.2.2 名字空間(namespace)和ASP.NET的文件類型1. 什么是名字空間(namespace)?對(duì)象一直是面向?qū)ο蟪绦蜷_發(fā)(OOP)的中心。在MicroSoft.NET中也不例外, MicroSoft.NET中的VB、VBA、VC+、VBScript等各種語言都是如此,不同

36、的開發(fā)語言有不同的對(duì)象,這些對(duì)象均是各個(gè)語法所提供的的“資源”,程序開發(fā)人員可以利用這些資源,來編寫所需的系統(tǒng),就相隔房屋的一樣,建筑師使用同樣的素材,然而蓋好的房子可能不盡相同。在過去的ASP中,僅有Server、Request、Response等七個(gè)對(duì)象。而在ASP.NET的對(duì)象庫(kù)中卻分得很細(xì)。例如在ASP.NET網(wǎng)頁中要通過SQL語句獲得數(shù)據(jù)庫(kù)中的數(shù)據(jù),必須使用“System.Data.sqlClient”,這是NameSpace名稱。 在System.Data.sqlClient下,又有很多類(Class)。每個(gè)Class可視為一個(gè)對(duì)象,因?yàn)镃lass下有屬性、方法和事件等所以,最上層

37、的NameSpace是看作是同類型對(duì)象的集合,一個(gè)NameSpace之下可擁有多個(gè)Class。他們之間的關(guān)系如圖4所示,Namespace實(shí)際是一個(gè)具有緊密聯(lián)系的對(duì)象類型的集合,而Class代表了系統(tǒng)中的一個(gè)對(duì)象類型: ASP.NETNameSpaceClass1NameSpaceClass2Class3Class4圖4 ASP.NET以名字空間組織的類型結(jié)構(gòu)2.如何應(yīng)用名字空間(NameSpace)? (在ASPX文件中的書寫格式)或者using System.Data;(在C#文件中的書寫格式)using System.Data.OldDb;以上表示在ASP.NET網(wǎng)頁中使用了四個(gè)Name

38、Space,接下來我們要申明變量,但此變量必須是已引用的四個(gè)NameSpace所屬的Class,如:OleDbConnection MyConnection;OleDbDataSetCommand MyCommand;在上面的ASP.NET代碼中OleDbConnection及OleDbDataSetCommand類型都是System.Data.ADO名字空間之下的Class。3.ASP.NET中的文件類型?在ASP.NET中,相對(duì)于以前的ASP來說,增加了很多種文件類型,如表1所示,表1中的每一種文件擴(kuò)展名就代表ASP.NET的一種文件類型:表1 ASP.NET中的文件類型文件擴(kuò)展名用途及說

39、明Global.asaxASP.NET系統(tǒng)環(huán)境設(shè)置文件,進(jìn)行應(yīng)用程序初始化的過程。.aspx內(nèi)含ASP程序代碼的文件,瀏覽器可執(zhí)行此類文件,向服務(wù)器提出瀏覽請(qǐng)求.asmx制作Web Service的原始文件.sdl制作Web Service的XML格式的文件.vb或.cs在非ASP.NET環(huán)境下,執(zhí)行Web Service的文件.aspc可重復(fù)使用在多個(gè).aspx的文件,此文件內(nèi)可含有控件.ascx內(nèi)含User Control的文件,可內(nèi)含在多個(gè).aspx文件中在每一個(gè)ASP.NET應(yīng)用中,不一定包含上面提到的全部文件類型。只有應(yīng)用程序使用到ASP.NET的特定功能,在應(yīng)用程序的目錄下才會(huì)出現(xiàn)

40、某種特定的文件格式。例如應(yīng)用程序中使用到到網(wǎng)絡(luò)服務(wù)(Web Service),那么在應(yīng)用程序的解決方案中就會(huì)出現(xiàn).asmx和.sdl文件。開發(fā)者對(duì)這兩種文件進(jìn)行編碼就能夠完成網(wǎng)絡(luò)服務(wù)(Web Service)的創(chuàng)建和設(shè)置。7.2.3 C#語言介紹由于篇幅的原因和C#本身與C+語言類似的特點(diǎn),在本書中將不會(huì)對(duì)C#語言的語法進(jìn)行詳盡的介紹。在本節(jié)的內(nèi)容里,將針對(duì)C#自身特殊的地方進(jìn)行介紹。1. C#程序的基本結(jié)構(gòu)C#語言是從C和C+語言演變而來,是一種簡(jiǎn)單、現(xiàn)代、面向?qū)ο蠛皖愋桶踩木幊陶Z言。C 和 C+ 程序員會(huì)很快熟悉它。C# 的目標(biāo)是將 VisualBasic 的高效率同 C+ 原有的強(qiáng)大功

41、能結(jié)合起來。在此將通過“Hello World”程序講解C#語言的一些基本結(jié)構(gòu)。using System;class HelloWorldpublic static void Main() Console.WriteLine(Hello World);一個(gè)C#語言編寫的應(yīng)用程序具備的基本結(jié)構(gòu),即:名字空間、類、程序入口(靜態(tài)Main方法)。名字空間在前面已經(jīng)講過,它是同類型類的集合,要使用名字空間中的類,首先應(yīng)該在程序中引用名字空間。在C#中引用名字空間要使用“using”關(guān)鍵字處理,而聲明自定義名字空間使用“namespace”關(guān)鍵字處理。本例引用了系統(tǒng)類庫(kù)中“System”名字空間,并且自

42、定義名字空間名為“Hello”。“using System;”指令引用一個(gè)由Microsoft .NET 框架類庫(kù)提供的、名為“System”的命名空間。此命名空間包含 Main方法中引用的 Console 類。命名空間提供了一種分層方法來組織一個(gè)或多個(gè)程序的元素。“using”指令可以非限定地使用屬于命名空間的類型?!癶ello,world”程序使用Console.WriteLine 作為 System.Console.WriteLine 的簡(jiǎn)寫形式。(為了簡(jiǎn)潔起見,此規(guī)范中的大多數(shù)示例都省略了using System; 指令。)類是描述一群具有相似特性(屬性)、相同行為(方法)與意義,且和

43、其他對(duì)象間有共同關(guān)系的對(duì)象。類,通過實(shí)體化過程后成為對(duì)象,即一個(gè)真正可以用于應(yīng)用的程序。本例類名為“HelloWorld”。Main 方法是程序的入口點(diǎn),程序控制在該方法中開始和結(jié)束。該方法在類的內(nèi)部聲明。作為程序入口點(diǎn),由于該方法需要在類被實(shí)體化前存在,則它必須為靜態(tài)的(即采用static修飾)。其中Main方法使用void修飾說明該方法不返回值。寫 Main 方法時(shí)既可以不使用參數(shù),也可以使用參數(shù)(本例為不使用參數(shù))。在 Main 方法中可以創(chuàng)建對(duì)象及調(diào)用其他方法。Main 方法是 HelloWorld 類的成員。它具有 static 修飾符,因此是 Hello 類的方法而不是此類的實(shí)例的

44、方法在上面的示例中,還應(yīng)用到了Console類。Console類是.NET Framework專門為開發(fā)控制臺(tái)應(yīng)用程序封裝的一個(gè)類,其中包含了控制臺(tái)應(yīng)用程序所需的獲取標(biāo)準(zhǔn)輸入、輸出和錯(cuò)誤流的操作。同時(shí)對(duì)從控制臺(tái)讀取、寫入字符和字符串的應(yīng)用程序提供基本支持。本例中使用了“WriteLine”方法,即向控制臺(tái)中寫入字符串“Hello World”。2. C#的類本章已經(jīng)提到,C#是一個(gè)完全的面向?qū)ο蟮木幊陶Z言,因此類可以說是C#程序中最主要的組成部分。和其他編程語言類似C#中的類是具有相同數(shù)據(jù)結(jié)構(gòu)和操作的對(duì)象的集合,它們同樣是一個(gè)對(duì)象的集合。下面的代碼將創(chuàng)建一個(gè)person類。public cla

45、ss person /在這里面可以增加屬性和方法?,F(xiàn)在給上面的person類增加一個(gè)姓名和年齡的屬性。 public class person private string _Name; private int _Age; public string Name get return _Name; set _Name=Value; public int Age get return _Age; set _Age=Value; 接下來給上面的類增加一個(gè)ToString()的方法。 public class person private string _Name; private int _Age;

46、 public person() / / TODO: Add constructor logic here / public string Name get return _Name; set _Name= Value; public int Age get return _Age; set _Age=Value; public string ToString() return 姓名:+_name+,年齡:+_Age; 這樣就完成了一個(gè)完整的類的定義,需要注意的是類在定義的時(shí)候需要指定他的訪問權(quán)限,這個(gè)設(shè)定是通過類的修飾符來定義的。在C#中,可以有下面的一種或幾種的組合:new、public、

47、protected、internal、private、abstract和sealed,同樣的修飾不能出現(xiàn)兩次以上(包括兩次)。7.2.4 小結(jié)本節(jié)著重介紹了ASP.NET技術(shù)的相關(guān)基礎(chǔ)知識(shí),包括ASP.NET技術(shù)的調(diào)試平臺(tái)的安裝與配置、名字空間的含義和ASP.NET項(xiàng)目中包含的文件類型。最后,本節(jié)還簡(jiǎn)要介紹了本章中用來進(jìn)行ASP.NET開發(fā)的C#語言的相關(guān)基礎(chǔ)知識(shí),包括:C#程序的基本結(jié)構(gòu)和C#程序中的類。7.3 ASP.NET網(wǎng)絡(luò)表單(Web Form)7.3.1 網(wǎng)絡(luò)表單(Web Form)介紹1. 什么是網(wǎng)絡(luò)表單(Web Form)?表單(Form)在ASP.NET中具有特殊的含義。和H

48、TML的中的Form標(biāo)記不同,在ASP.NET中Web Form則代表了一個(gè)一個(gè)的Web頁面??偟目磥恚現(xiàn)orm就像是一個(gè)容納各種控件的容器,各種控件都必須直接或者間接的和它有依存關(guān)系。因此,有的開發(fā)者稱其為“Web頁面”。WEB表單,實(shí)際上是一個(gè)“對(duì)象”(Object),具有的其特有的屬性和方法。MS.NET架構(gòu)里面一個(gè)比較重要的概念就是“對(duì)象”:所有的控件都是對(duì)象,甚至數(shù)據(jù)類型都成了對(duì)象;每種數(shù)據(jù)類型都有自己特有的屬性和方法。WEB FORM文件的后綴名是ASPX。當(dāng)瀏覽器第一次請(qǐng)求一個(gè)ASPX文件時(shí),WEB FORM頁面將被CLR(common language runtime)編譯器編

49、譯。此后,當(dāng)再有用戶訪問此頁面的時(shí)候,由于ASPX頁面已經(jīng)被編譯過,所以,CLR會(huì)直接執(zhí)行編譯過的代碼。這和ASP的情況完全不同。ASP只支持VBScript和JavaScript這樣的解釋性的腳本語言。所以ASP頁面是解釋執(zhí)行的。當(dāng)用戶發(fā)出請(qǐng)求后,無論是第一次,還是第一千次,ASP的頁面都將被動(dòng)態(tài)解釋執(zhí)行。而ASP.NET支持可編譯的語言,包括VB.NET、C#、Jscript.NET等。所以,ASP.NET是一次編譯多次執(zhí)行。為了簡(jiǎn)化程序員的工作,ASPX頁面不需要手工編譯,而是在頁面被調(diào)用的時(shí)候,由CLR自行決定是否編譯。一般來說,下面兩種情況下,ASPX會(huì)被重新編譯:1) ASPX頁面

50、第一次被瀏覽器請(qǐng)求;2) ASPX被改寫由于ASPX頁面的編譯特性,使ASPX頁面的訪問速度要比PHP和ASP頁面的訪問速度提高很多。2. 一個(gè)簡(jiǎn)單的Web Form在ASP.NET中,ASPX文件是最常用的一種文件,微軟公司建議將所有相關(guān)的文件,哪怕是純HTML文件都以ASPX文件的形式來保存,這樣能夠提高訪問的速度。下面就是用前面學(xué)習(xí)的知識(shí)來創(chuàng)建第一個(gè)Web Form。首先在VS.NET中創(chuàng)建新一個(gè)Visual C#項(xiàng)目,如圖4所示,在模板窗口中選擇ASP.NET Web應(yīng)用程序,然后在下面的“位置”欄中填入ASP.NET應(yīng)用在服務(wù)器上的位置,填寫的格式是使用URL的方式,或者使用程序的默認(rèn)值。點(diǎn)擊確定按鈕,完成應(yīng)用的創(chuàng)建工作。圖4 VS.NET IDE新建項(xiàng)目窗口接下來打開解決方案管理器,創(chuàng)建eg1.aspx文件,雙擊該文件,在主工作區(qū)就會(huì)顯示該頁的布局和代碼,通過點(diǎn)擊主工作區(qū)下放的HTML按鈕,就能夠看到eg1.aspx的代碼,把下面的代碼拷貝到eg1.aspx文件中,然后從瀏覽器訪問這個(gè)文件:例1: 姓名: 性別: 男 女 保密 然后就可以在瀏覽器中察看eg1.aspx了,如圖5所示,地址的格式如下:Http:/yourhost/yourapp/eg1.aspx圖5 例1的執(zhí)行結(jié)果其中yourhost是當(dāng)前應(yīng)用所在的服務(wù)器名,your

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論