在ASP.NET技術(shù)采用了真正面向?qū)ο蟮木幊碳夹g(shù),每一個(gè)Web應(yīng)用程序是運(yùn)行在一個(gè)獨(dú)特的.NET運(yùn)行時(shí)應(yīng)用域中,,這個(gè)特性保證了類隔離,、安全盒和靜態(tài)太變量的隔離。為了保證每個(gè)Web一個(gè)應(yīng)用程序的安全,,必須保證每個(gè)Web應(yīng)用程序運(yùn)行于相對獨(dú)立(隔離)的環(huán)境中,。而每個(gè)IIS根目錄只能有一個(gè)應(yīng)用程序,但是實(shí)際應(yīng)用中的Web應(yīng)用程序確實(shí)很多,,為每個(gè)Web應(yīng)用程序配置一個(gè)IIS服務(wù)器顯然是不現(xiàn)實(shí)的,。因此,虛擬目錄技術(shù)就因此而顯得尤為重要,。
虛擬目錄就是相對于IIS 的根目錄來說的,,一個(gè)站點(diǎn)的根目錄只能有一個(gè),為了多個(gè)Web應(yīng)用程序運(yùn)行于一個(gè)IIS服務(wù)器上,,就為其虛擬一個(gè)IIS目錄,。每個(gè)虛擬目錄受控于跟目錄的管理,有其特定的權(quán)限管理,,也可以繼承根目錄的權(quán)限設(shè)置,。每個(gè)虛擬目錄的程序有其相對隔離的進(jìn)程運(yùn)行空間,保證了程序的安全運(yùn)行,。當(dāng)然,,每個(gè)虛擬目錄都是指向物理磁盤中的絕對路徑的,而虛擬目錄指向的絕對路徑可以是任意的,。 在ASP.NET里,,對于每一個(gè)Web 應(yīng)用程序就是定義運(yùn)行在Web應(yīng)用服務(wù)器上的每個(gè)對應(yīng)的虛擬目錄以及其子目錄下的所有文件,如一個(gè)IIS服務(wù)器的提供相互隔離的三個(gè)服務(wù)(每個(gè)服務(wù)對應(yīng)于一個(gè)Web應(yīng)用程序):新聞系統(tǒng),、OA系統(tǒng)(OA),、在線視頻系統(tǒng)(movie)。那么,,成為根IIS目錄下的應(yīng)用程序或許只能是其中的一個(gè),,或許一個(gè)也不是,,但可以肯定的至少有兩個(gè)服務(wù)(Web應(yīng)用程序是在IIS的虛擬目錄下運(yùn)行的),比如我們假設(shè)新聞系統(tǒng)為其主目錄下的Web應(yīng)用程序(Http://xxx.xxx.xxx),,則OA系統(tǒng)(Http://xxx.xxx.xxx/OA)和在線視頻系統(tǒng)(Http://xxx.xxx.xxx/movie)就必定為虛擬目錄,。我們來學(xué)習(xí)利用IIS的管理器建立虛擬目的。假設(shè)我們要新建一個(gè)用于運(yùn)行g(shù)uestbook的Web程序的虛擬目錄,,該程序存放在C:\guestbook 文件夾下。 ?。?) 運(yùn)行命令?inetmgr.exe,,打開IIS管理器(Internet信息服務(wù)),如圖1.9所示,。
圖 1.9 IIS管理器 ?。?) 在根目錄【默認(rèn)網(wǎng)站】節(jié)點(diǎn)上鼠標(biāo)右擊?選擇【新建】命令?選擇【虛擬目錄】命令。也可以在工具欄中選擇【操作】命令?選擇【新建】命令?選擇【虛擬目錄】命令,,如圖1.10所示:
圖1.10 選擇新建虛擬目錄 (3) 彈出虛擬目錄創(chuàng)建向?qū)?,點(diǎn)擊【下一步】按鈕,如圖1.11所示,。
圖1.11 虛擬目錄創(chuàng)建向?qū)?/p> ?。?)給出虛擬目錄別名,用于Web訪問名稱,。我們命名為GuestBook,,如圖1.12所示。
圖1.12 命名虛擬目錄的別名 ?。?) 指定Web應(yīng)用程序的物理位置,,如圖1.13所示。
圖1.13 指定Web應(yīng)用程序的物理位置 ?。?)權(quán)限設(shè)置,。一般只選擇前兩項(xiàng),如圖1.14所示,。
圖1.14 訪問權(quán)限設(shè)置 ?。?)虛擬目錄創(chuàng)建成功,如圖1.15所示,。
圖1.15 完成虛擬目錄創(chuàng)建 在IIS管理器中,,我們可以看到已經(jīng)新建好的虛擬目錄,右邊列表中已經(jīng)列出該虛擬目錄中的所有程序文件,,如圖1.16所示,。
圖1.16 GuestBook虛擬目錄瀏覽 有些Web應(yīng)用程序要求具有寫入權(quán)限,比如數(shù)據(jù)庫的更新等,,這就要求該文件夾對其Internet 訪問用戶所在的組具有寫入權(quán)限,。我們找到guestbook文件夾,在該文件夾的屬性安全選項(xiàng)中,對Guest權(quán)限(本實(shí)例系統(tǒng)的計(jì)算機(jī)名稱為“ASPNET”,,系統(tǒng)Internet匿名訪問用戶所在組為Guest,,也是系統(tǒng)默認(rèn)的,有的系統(tǒng)是在User用戶組中)的寫入權(quán)限前打勾,,并應(yīng)用,。如果沒有寫入權(quán)限的時(shí)候,我們當(dāng)執(zhí)行寫入數(shù)據(jù)(比如提交新的留言)時(shí)候,,就會(huì)出現(xiàn)“查詢必須為可更新的”提示錯(cuò)誤,。權(quán)限設(shè)置如圖1.17所示。
圖1.17 為虛擬目錄增加寫入權(quán)限 |
|