- ASP.NET 3.5程序設(shè)計(jì)與項(xiàng)目實(shí)踐
- 張聯(lián)鋒 陳文臣主編
- 4373字
- 2018-12-27 18:44:50
1.2 ASP.NET開發(fā)環(huán)境
Visual Studio 2008是ASP.NET 3.5程序的開發(fā)工具,而ASP.NET應(yīng)用程序需要運(yùn)行在IIS系統(tǒng)中。
1.2.1 Visual Studio 2008
Visual Studio 2008的安裝過(guò)程同其他常用程序的安裝一樣,這里就不再贅述。下面將簡(jiǎn)要介紹一下Visual Studio 2008的使用。
1.創(chuàng)建ASP.NET項(xiàng)目
利用Visual Studio 2008創(chuàng)建一個(gè)ASP.NET項(xiàng)目,步驟如下:
(1) 選擇“開始”—“所有程序”—“Microsoft Visual Studio 2008”“— Microsoft Visual Studio 2008”命令,打開Visual Studio 2008,如圖1-2所示。

圖1-2 Visual Studio 2008的主界面
Visual Studio 2008的主界面包含內(nèi)容如下:
● 最近打開過(guò)的項(xiàng)目列表,可以通過(guò)單擊項(xiàng)目列表中某個(gè)項(xiàng)目以進(jìn)入這個(gè)項(xiàng)目。
● Visual Studio開發(fā)人員新聞列表,單擊列表中鏈接可以打開該新聞的詳細(xì)信息頁(yè)面。在這個(gè)列表中,很可能發(fā)現(xiàn)感興趣的文章、一個(gè)源碼示例或一個(gè)漂亮的組件。因此經(jīng)常瀏覽這個(gè)新聞列表對(duì)提高程序開發(fā)能力很有好處。
● 開始幫助列表,這個(gè)列表列出了對(duì)開發(fā)者可能有用的幫助主題列表,通過(guò)這個(gè)列表提供內(nèi)容讀者可以獲得需要的幫助。
● Visual Studio標(biāo)題新聞列表,提供了有關(guān)開發(fā)幫助的一些標(biāo)題新聞列表。通過(guò)這些列表,用戶可以獲取各種主題的幫助內(nèi)容來(lái)提高開發(fā)能力。
● 此外還包括一些菜單命令,這些命令會(huì)在后面介紹。
(2) 在啟動(dòng)Visual Studio 2008之后,在圖1-2中單擊與創(chuàng)建對(duì)應(yīng)的“項(xiàng)目”按鈕或選擇“文件”—“新建”命令,打開如圖1-3所示的“新建項(xiàng)目”對(duì)話框。

圖1-3 “新建項(xiàng)目”對(duì)話框
圖1-3的左邊顯示了可以創(chuàng)建項(xiàng)目類型,右邊顯示與選定的項(xiàng)目類型對(duì)應(yīng)的項(xiàng)目模板。打開Viusal C#父類型,選擇Web類型,在右邊顯示了可以創(chuàng)建的Web項(xiàng)目的模板,包括:ASP.NET Web應(yīng)用程序、ASP.NET Web服務(wù)應(yīng)用程序、ASP.NET AJAX服務(wù)器控件、ASP.NET AJAX服務(wù)器控件擴(kuò)展程序、ASP.NET服務(wù)控件、WCF服務(wù)應(yīng)用程序。選擇ASP.NET Web應(yīng)用程序,在“名稱”文本框中輸入項(xiàng)目名稱,并選擇相應(yīng)的存儲(chǔ)目錄,單擊“確定”按鈕即可創(chuàng)建一個(gè)新的Web項(xiàng)目。
2.解決方案資源管理器
當(dāng)創(chuàng)建一個(gè)新的網(wǎng)站項(xiàng)目之后,就可以利用資源管理器對(duì)網(wǎng)站項(xiàng)目進(jìn)行管理,通過(guò)資源管理器,可以瀏覽當(dāng)前項(xiàng)目所包含的所有的資源(.aspx文件、.aspx..cs文件、圖片等),也可以向項(xiàng)目中添加新的資源,并且可以修改、復(fù)制和刪除已經(jīng)存在的資源。解決方案資源管理器如圖1-4所示。
圖1-4顯示了Web項(xiàng)目Sample2-1的資源管理器,通過(guò)資源管理器,可以對(duì)當(dāng)前項(xiàng)目包含的資源有一個(gè)詳細(xì)的掌握。
3.添加新的資源
在圖1-4中,右鍵單擊項(xiàng)目名稱,彈出如圖1-5所示的菜單。

圖1-4 解決方案資源管理器

圖1-5 右鍵單擊項(xiàng)目名稱的菜單
在圖1-5所示的菜單有四個(gè)添加項(xiàng),分別是:添加、添加引用、添加Web引用和添加服務(wù)引用。其中“添加”命令可以添加的資源如圖1-6所示,“添加引用”命令用來(lái)添加對(duì)類的引用,“添加Web引用”命令用來(lái)添加對(duì)存在于Web上的公開類的引用,“添加服務(wù)引用”命令用來(lái)添加對(duì)服務(wù)的引用。
圖1-6所示的“添加”命令的下級(jí)菜單命令,包括:新建項(xiàng)、現(xiàn)有項(xiàng)、新建文件夾、添加ASP.NET文件夾、組件和類。其中,“新建項(xiàng)”命令用來(lái)添加ASP.NET3.5支持的所有文件資源;“現(xiàn)有項(xiàng)”命令用來(lái)把已經(jīng)存在的文件資源添加到當(dāng)前項(xiàng)目中去;“新建文件夾”命令用來(lái)向網(wǎng)站項(xiàng)目中添加一個(gè)文件夾;“添加ASP.NET文件夾”命令用來(lái)向網(wǎng)站項(xiàng)目中添加一個(gè)ASP.NET獨(dú)有的文件夾;“組件”命令用來(lái)向網(wǎng)站項(xiàng)目中添加一個(gè)定義組件的文件;“類”命令用來(lái)向網(wǎng)站項(xiàng)目中添加一個(gè)類的定義文件。

圖1-6 “添加”命令的下級(jí)菜單命令
在圖1-6中選擇命令“新建項(xiàng)”打開如圖1-7所示的“添加新項(xiàng)”對(duì)話框,在該對(duì)話框中選中要添加的文件模板,并在“名稱”文本框中輸入該文件的名稱,單擊“添加”按鈕即可向網(wǎng)站項(xiàng)目中添加一個(gè)新的文件。

圖1-7 可以添加的文件資源
4.編輯Web頁(yè)面
在添加一個(gè)Web頁(yè)面后,可以使用Visual Studio對(duì)它進(jìn)行編輯,在資源管理器中雙擊某個(gè)要編輯的Web頁(yè)面文件,該頁(yè)面文件就會(huì)在中間的視窗中打開,如圖1-8所示。頁(yè)面文件編輯視窗分為三個(gè)視圖:設(shè)計(jì)視圖、拆分視圖和源視圖。其中,設(shè)計(jì)視圖用來(lái)顯示設(shè)計(jì)的效果,并且可以從工具箱中直接把控件放置在設(shè)計(jì)視圖中,工具箱是放置控件的容器,如圖1-9所示;拆分視圖同時(shí)顯示設(shè)計(jì)視圖和源視圖;源視圖顯示設(shè)計(jì)源碼,可以在該視圖中直接通過(guò)編寫代碼來(lái)設(shè)計(jì)頁(yè)面。

圖1-8 Web頁(yè)面編輯窗口

圖1-9 工具箱
5.屬性查看器
在Web頁(yè)面設(shè)計(jì)視圖下,右鍵單擊某一個(gè)控件或頁(yè)面的任何地方,在彈出的菜單中選擇“屬性”命令,就會(huì)彈出與之對(duì)應(yīng)的屬性查看器,如圖1-10所示。

圖1-10 屬性查看器
在屬性查看器中,可以編輯想要修改的屬性,比如修改背景色,可以在BgColor后面的文本框中輸入對(duì)應(yīng)的顏色值,或者單擊BgColor后面的按鈕彈出顏色選擇器,在顏色選擇器中可以選擇對(duì)應(yīng)的顏色。
6.編輯后臺(tái)代碼
在Web頁(yè)面的設(shè)計(jì)視圖下,雙擊頁(yè)面的任何地方即可打開隱藏的后臺(tái)代碼文件,如圖1-11所示,在此界面中,開發(fā)者可以編寫與頁(yè)面對(duì)應(yīng)的后臺(tái)邏輯代碼。

圖1-11 后臺(tái)代碼編輯界面
1.2.2 安裝和配置IIS
在Windows 2000上安裝的IIS的版本號(hào)是5.0,在Windows XP上安裝的IIS的版本號(hào)是5.1,除此之外,這兩種安裝過(guò)程的區(qū)別不大。這里以Windows XP為例來(lái)安裝IIS 5.1,需要注意的是,不能在Windows xp home版安裝IIS,因此不能在其上運(yùn)行ASP.NET。安裝IIS的步驟如下:
(1) 選擇“開始”—“控制面板”—“添加或刪除程序”命令,顯示如圖1-12所示的對(duì)話框,該對(duì)話框顯示當(dāng)前已經(jīng)安裝的程序。

圖1-12 “添加或刪除程序”對(duì)話框
(2) 在對(duì)話框的左側(cè)選擇“添加/刪除Windows組件”圖標(biāo),彈出“Windows組件向?qū)А睂?duì)話框,如圖1-13所示。

圖1-13 “Windows組件向?qū)А睂?duì)話框
(3) 在“Windows組件向?qū)А睂?duì)話框找到“Internet信息服務(wù)(IIS)”,如果尚未安裝,則其左側(cè)的復(fù)選框不會(huì)被選中;如果復(fù)選框是不可選狀態(tài),說(shuō)明IIS的組件沒(méi)有全部安裝。否則說(shuō)明IIS已經(jīng)全部安裝,退出安裝過(guò)程。
(4) 如果復(fù)選框沒(méi)有被選中,則選中該復(fù)選框;如果復(fù)選框是不可選狀態(tài),則選中該項(xiàng),單擊“詳細(xì)信息”按鈕,彈出如圖1-14所示的對(duì)話框。

圖1-14 “Internet 信息服務(wù)器(IIS)”對(duì)話框
(5) 在“Internet信息服務(wù)器(IIS)”對(duì)話框中選擇要安裝的選項(xiàng),對(duì)于本書來(lái)說(shuō),“公用文件”是一定要選中的。選擇完畢要安裝的項(xiàng)后,單擊“確定”按鈕,返回到“Windows組件向?qū)А睂?duì)話框。單擊“下一步”按鈕安裝IIS 5.1,此時(shí)可能會(huì)提示用戶將Windows XP系統(tǒng)盤放入光驅(qū)。
(6) 安裝完畢之后,返回到“添加和刪除程序”對(duì)話框。
作者心得:
一旦安裝完成,系統(tǒng)會(huì)自動(dòng)啟動(dòng)IIS,而且在此之后,無(wú)論何時(shí)啟動(dòng)Windows,系統(tǒng)都會(huì)自動(dòng)啟動(dòng)IIS。因此,用戶不需要運(yùn)行啟動(dòng)程序,也不需要像啟動(dòng)Word等程序那樣單擊快捷方式。
用戶可以通過(guò)“Internet信息服務(wù)”對(duì)話框關(guān)閉IIS,步驟為:
(1) 選擇“控制面板”—“管理工具”—“Internet信息服務(wù)”命令,彈出“Internet信息服務(wù)”對(duì)話框。
(2) 依次展開根節(jié)點(diǎn)、“網(wǎng)站”節(jié)點(diǎn)、“默認(rèn)網(wǎng)站”節(jié)點(diǎn),如圖1-15所示。

圖1-15 Internet信息服務(wù)
(3) 右鍵單擊“默認(rèn)網(wǎng)站”節(jié)點(diǎn),彈出如圖1-16所示的菜單。

圖1-16 “默認(rèn)網(wǎng)站”右鍵菜單
(4) 用戶可以選擇“停止”關(guān)閉IIS服務(wù),也可以選擇“暫停”暫停IIS服務(wù)。后面管理Web服務(wù)器目錄時(shí)本書還會(huì)通過(guò)“新建”菜單來(lái)建立新的網(wǎng)站。
當(dāng)用戶通過(guò)HTTP瀏覽位于Web服務(wù)器上的一些Web頁(yè)面時(shí),Web服務(wù)器需要確定與該頁(yè)面對(duì)應(yīng)的文件位于服務(wù)器硬盤上的什么位置。事實(shí)上,在由URL給出的信息與包含頁(yè)面的文件的物理位置(在Web服務(wù)器的文件系統(tǒng)中)之間有著重要的關(guān)系。這個(gè)關(guān)系是通過(guò)虛擬目錄來(lái)實(shí)現(xiàn)的。
虛擬目錄相當(dāng)于物理目錄在Web服務(wù)器機(jī)器上的別名,它不僅使用戶避免了冗長(zhǎng)的URL,也是一種很好的安全措施,因?yàn)樘摂M目錄對(duì)所有瀏覽者隱藏了物理目錄結(jié)構(gòu)。下面介紹創(chuàng)建虛擬目錄的步驟:
(1) 在硬盤上創(chuàng)建一個(gè)物理目錄,這里在C盤的根目錄下創(chuàng)建一個(gè)目錄,命名為ASPTest。
(2) 啟動(dòng)Internet信息服務(wù),右鍵單擊“默認(rèn)網(wǎng)站”節(jié)點(diǎn),在如圖1-16所示的菜單中選擇“新建”—“虛擬目錄”命令,啟動(dòng)虛擬目錄創(chuàng)建向?qū)В鐖D1-17所示。

圖1-17 “虛擬目錄創(chuàng)建向?qū)А?/p>
(3) 單擊下一步,彈出“虛擬目錄別名”對(duì)話框,如圖1-18所示。

圖1-18 虛擬目錄別名
(4) 在“別名”文本框中輸入虛擬目錄的名字,這里命名為“ASPTest”,和它的物理目錄的名字相同。然后單擊“下一步”按鈕,彈出如圖1-19所示的對(duì)話框。

圖1-19 網(wǎng)站內(nèi)容目錄
(5) 選擇剛才創(chuàng)建的物理目錄“C:\ASPText”,單擊“下一步”按鈕,彈出“訪問(wèn)權(quán)限”對(duì)話框,如圖1-20所示。

圖1-20 訪問(wèn)權(quán)限
(6) 在“訪問(wèn)權(quán)限”對(duì)話框中設(shè)置虛擬目錄的訪問(wèn)權(quán)限,除非讀者明白自己需要什么樣的權(quán)限,否則不要改變創(chuàng)建時(shí)默認(rèn)的權(quán)限。單擊“下一步”按鈕,彈出如圖1-21所示的對(duì)話框。

圖1-21 創(chuàng)建完成
(7) 單擊“完成”按鈕,完成虛擬目錄的創(chuàng)建。此時(shí),在“Internet信息服務(wù)”窗體的目錄樹中將顯示該ASPTest虛擬目錄,如圖1-22所示。

圖1-22 新創(chuàng)建的虛擬目錄
當(dāng)創(chuàng)建目錄時(shí),可以使用虛擬目錄向?qū)е刑峁┑倪x項(xiàng),將權(quán)限賦給目錄,也可以在“Internet信息服務(wù)”窗體的ASPTest虛擬目錄中右鍵單擊,從彈出的菜單中選擇“屬性”命令,彈出如圖1-23的對(duì)話框,來(lái)設(shè)置虛擬目錄的訪問(wèn)權(quán)限。

圖1-23 “ASPTest屬性”對(duì)話框
(1) 訪問(wèn)權(quán)限。
在圖1-23所示的對(duì)活框中,用戶需要注意的是位于左邊的4個(gè)復(fù)選框。它們用于確定給定目錄的訪問(wèn)類型,并說(shuō)明包含于目錄中的文件的允許權(quán)限。下面分別介紹這4個(gè)選項(xiàng)。
● 腳本資源訪問(wèn)復(fù)選框:該權(quán)限允許用戶訪問(wèn)ASP.NET頁(yè)面的源代碼。只有賦予了讀取或?qū)懭霗?quán)限后,才允許使用該權(quán)限。但通常不希望用戶能夠?yàn)g覽ASP.NET源代碼,因此,一般情況下包含ASP.NET頁(yè)面的任何目錄均不選中該復(fù)選框。默認(rèn)情況下,在設(shè)置過(guò)程中所有目錄均禁用腳本資源訪問(wèn)權(quán)限,應(yīng)保留該默認(rèn)設(shè)置。
● 讀取復(fù)選框:該權(quán)限允許瀏覽器讀取或下載保存在主目錄或虛擬目錄中的文件。如果瀏覽器向無(wú)讀取權(quán)限的目錄請(qǐng)求了一個(gè)文件,Web服務(wù)器將只返回一個(gè)錯(cuò)誤消息。請(qǐng)注意,當(dāng)關(guān)閉文件夾的讀取權(quán)限時(shí),就不能讀取位于文件夾中的HTML文件,但文件夾中的ASP.NET代碼仍能夠運(yùn)行。總的來(lái)說(shuō),包含希望發(fā)布的信息(如HTML文件)的目錄應(yīng)具有讀取權(quán)限。
● 寫入復(fù)選框:如果啟用虛擬目錄中的寫入權(quán)限,用戶就能夠在該目錄中創(chuàng)建或修改文件,并修改這些文件的屬性。出于安全性考慮,通常并不啟用該權(quán)限,而且建議用戶不要改變?cè)撛O(shè)置。
● 目錄瀏覽復(fù)選框:如果用戶希望他人測(cè)覽目錄的內(nèi)容(即查看包含在目錄中的所有文件列表),那么可通過(guò)選中目錄瀏覽復(fù)選框來(lái)使該權(quán)限有效。
(2) 執(zhí)行權(quán)限。
在圖1-23所示的屬性對(duì)活框的底部有一個(gè)標(biāo)記為執(zhí)行權(quán)限的下拉列表框。它用于確定在包含于指定目錄中的頁(yè)面上允許執(zhí)行什么級(jí)別的程序。這里有3種可能的值:無(wú)、純腳本、腳本和可執(zhí)行文件。
● 將執(zhí)行權(quán)限設(shè)置為無(wú),表示用戶只能訪問(wèn)靜態(tài)文件,如圖像文件、HTML文件。對(duì)用戶來(lái)說(shuō),包含于指定目錄的其他任何基于腳本的可執(zhí)行文件都是不可訪問(wèn)的。如果用戶試圖從權(quán)限被設(shè)置成無(wú)的文件夾中運(yùn)行一個(gè)ASP.NET頁(yè)面,就會(huì)在頁(yè)面上得到禁止執(zhí)行訪問(wèn)的消息。
● 將執(zhí)行權(quán)限設(shè)置為純腳本,表示用戶不僅能訪問(wèn)靜態(tài)文件,也能訪問(wèn)任何一個(gè)基于腳本的頁(yè)面,如ASP.NET 頁(yè)面。因此,如果用戶請(qǐng)求了一個(gè)包含于指定目錄中的ASP.NET頁(yè)面,Web服務(wù)器將允許執(zhí)行ASP.NET代碼。并且,由此得到的HTML會(huì)傳遞回瀏覽器。
● 將執(zhí)行權(quán)限設(shè)置為腳本和可執(zhí)行文件,表示用戶能夠執(zhí)行包含在目錄中的任何類型的文件。通常不應(yīng)采用該設(shè)置,以禁止用戶在Web服務(wù)器上執(zhí)行具有潛在破壞性的應(yīng)用程序。
作者心得:
對(duì)于包含要發(fā)布的ASP.NET文件的任何目錄,最好將執(zhí)行權(quán)限設(shè)置為純腳本。
- PHP動(dòng)態(tài)網(wǎng)站程序設(shè)計(jì)
- Learn ECMAScript(Second Edition)
- Kali Linux Web Penetration Testing Cookbook
- ASP.NET Core 5.0開發(fā)入門與實(shí)戰(zhàn)
- Clojure for Domain:specific Languages
- Blockly創(chuàng)意趣味編程
- Nexus規(guī)模化Scrum框架
- Serverless架構(gòu)
- Corona SDK Mobile Game Development:Beginner's Guide(Second Edition)
- Java實(shí)戰(zhàn)(第2版)
- Principles of Strategic Data Science
- CodeIgniter Web Application Blueprints
- Clojure for Finance
- Expert Cube Development with SSAS Multidimensional Models
- SQL Server 2012數(shù)據(jù)庫(kù)管理與開發(fā)(慕課版)