部署ASP.NET的3大技術(shù)(6)
發(fā)表時(shí)間:2024-02-09 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]除了“啟動(dòng)畫面”對話框之外,用戶界面編輯器還提供了許多其他預(yù)定義的對話框,例如“許可協(xié)議”、“自述文件”、“注冊用戶”、“客戶信息”等,這些對話框都可以利用圖五的“添加對話框”窗口直接加入。 八、部署IIS配置信息 在準(zhǔn)備部署ASP.NET應(yīng)用程序的時(shí)候,一個(gè)必須考慮的重要問題是如何在部署應(yīng)用的同...
除了“啟動(dòng)畫面”對話框之外,用戶界面編輯器還提供了許多其他預(yù)定義的對話框,例如“許可協(xié)議”、“自述文件”、“注冊用戶”、“客戶信息”等,這些對話框都可以利用圖五的“添加對話框”窗口直接加入。
八、部署IIS配置信息
在準(zhǔn)備部署ASP.NET應(yīng)用程序的時(shí)候,一個(gè)必須考慮的重要問題是如何在部署應(yīng)用的同時(shí)部署IIS的配置信息。如果用直接復(fù)制的方法部署Web應(yīng)用,例如用XCOPY命令、Windows資源管理器的復(fù)制功能、FTP操作等,部署操作顯然不涉及IIS的配置信息,IIS的配置必須單獨(dú)設(shè)置,或者在目標(biāo)機(jī)器上手工設(shè)置,或者編寫腳本程序自動(dòng)設(shè)置。
如果用VS.NET的“復(fù)制項(xiàng)目”功能部署應(yīng)用,目標(biāo)服務(wù)器上會自動(dòng)創(chuàng)建虛擬目錄,但I(xiàn)IS的配置信息仍舊不會復(fù)制到目標(biāo)服務(wù)器上新建的虛擬目錄,新建的虛擬目錄只是從Web網(wǎng)站繼承默認(rèn)的設(shè)置,也就是說,我們?nèi)耘f要單獨(dú)設(shè)置IIS的配置信息。只有用Web安裝項(xiàng)目來部署ASP.NET應(yīng)用程序,我們才可以讓安裝程序自動(dòng)在目標(biāo)機(jī)器上設(shè)置IIS的配置信息。
要配置虛擬目錄的設(shè)置信息,首先打開文件系統(tǒng)編輯器,右擊“Web應(yīng)用程序文件夾”,選擇菜單“屬性窗口”,打開圖六的“屬性”窗口。
圖六
在圖六對話框中,我們可以配置許多重要的屬性,包括:
⑴ AllowDirectoryBrowsing:允許設(shè)定指定目錄的IIS目錄瀏覽屬性。這個(gè)設(shè)置項(xiàng)目相當(dāng)于IIS管理器中Web網(wǎng)站屬性對話框目錄設(shè)置頁的“目錄瀏覽”檢查框,可以設(shè)置為True或False。
⑵ AllowReadAccess:該屬性允許設(shè)定文件夾的IIS“讀取”屬性,可以設(shè)置成True或False。
⑶ AllowScriptSourceAccess:該屬性設(shè)置文件夾的IIS“腳本資源訪問”屬性。
⑷ AllowWriteAccess:該屬性設(shè)置文件夾的IIS“寫入”屬性。
⑸ ApplicationProtection:該屬性設(shè)置文件夾的IIS“應(yīng)用程序保護(hù)”屬性,可以設(shè)置成vsdapLow、vsdapMedium、vsdapHigh。
⑹ AppMappings:該屬性設(shè)置文件夾的IIS“應(yīng)用程序映射”屬性。
■ 設(shè)置其他IIS屬性
某些IIS配置屬性不能在Web安裝項(xiàng)目的屬性窗口中直接設(shè)置,包括目錄安全的配置(匿名訪問,基本驗(yàn)證或Windows驗(yàn)證)、自定義錯(cuò)誤等。
但是,我們可以用其他辦法解決問題,其中一種很有效的辦法是在Windows安裝文件中采用“自定義操作”。如前所述,我們可以用“自定義操作”在安裝結(jié)束時(shí)運(yùn)行一些代碼,完成安裝期間未能執(zhí)行的操作,自定義操作的代碼可以是DLL、執(zhí)行文件、腳本或程序集。
■ 安裝ASP.NET Web應(yīng)用
創(chuàng)建好Windows安裝文件(.msi文件)后,在目標(biāo)服務(wù)器上安裝ASP.NET應(yīng)用就很方便了,只要在Windows資源管理器中雙擊.msi文件就可以啟動(dòng)安裝向?qū),安裝向?qū)椭脩敉瓿烧麄(gè)安裝過程。安裝好ASP.NET應(yīng)用程序后,我們可以在控制面板的“添加或刪除程序”功能中看到該應(yīng)用程序,而且可以利用“添加或刪除應(yīng)用程序”功能隨時(shí)刪除已安裝的ASP.NET應(yīng)用。
九、VS.NET安裝項(xiàng)目 VS. 其他部署方案
如前所述,我們可以用下列方案之一來部署ASP.NET Web應(yīng)用:
⑴ XCOPY或VS.NET的“復(fù)制項(xiàng)目”功能。
⑵ VS.NET的Web安裝項(xiàng)目。
任何技術(shù)都有局限,用XCOPY和“復(fù)制項(xiàng)目”功能部署.NET應(yīng)用也不例外。一般地,它們只適用于比較簡單的、允許手工操作的場合,同時(shí)用于即時(shí)更新也很理想。但是,在某些場合,XCOPY不太適用,我們需要某種更加強(qiáng)大的部署方案,例如:
⑴ .NET應(yīng)用程序用到了一些COM組件,我們想要自動(dòng)部署這些COM組件(而不想手工部署),必須在安裝期間完成這些COM組件的注冊。
⑵ 需要在遠(yuǎn)程計(jì)算機(jī)上把一個(gè)程序集預(yù)編譯成本機(jī)代碼。
⑶ 需要將一些程序集安裝到遠(yuǎn)程機(jī)器的Global Assembly Cache。
⑷ 需要將一個(gè)應(yīng)用程序安裝成Windows服務(wù)。
⑸ 打算創(chuàng)建桌面快捷方式、把程序加入到“添加或刪除程序”清單、創(chuàng)建“開始”菜單的快捷方式,等等。
在上面這些情況下,我們需要一種更加強(qiáng)大的部署方案,這就是VS.NET提供的Web部署項(xiàng)目。許多時(shí)候,實(shí)際使用某種部署方案的是最終用戶,最終用戶往往缺乏手工配置應(yīng)用所必需的技能,VS.NET的Web安裝項(xiàng)目提供了很容易使用的用戶界面,把安裝期間必須執(zhí)行的各種復(fù)雜的配置操作全部自動(dòng)化。不僅如此,VS.NET的Web安裝項(xiàng)目還有下列優(yōu)勢:
⑴ 當(dāng)我們安裝一個(gè)應(yīng)用程序時(shí),有關(guān)應(yīng)用的所有信息都被記錄在一個(gè)Windows安裝數(shù)據(jù)庫中。如果我們要?jiǎng)h除該應(yīng)用程序,系統(tǒng)會檢查安裝數(shù)據(jù)庫,確認(rèn)其他應(yīng)用程序不依賴于某些將要被刪除的組件,從而避免臭名昭著的DLL Hell問題。
⑵ 如果安裝失敗,可以執(zhí)行徹底的回退,從系統(tǒng)清除一切安裝痕跡。
結(jié)束語:在這篇文章中,我們探討了部署ASP.NET Web應(yīng)用程序的各種方案,包括XCOPY、VS.NET的“復(fù)制項(xiàng)目”功能,以及VS.NET的Web安裝項(xiàng)目,了解了各種部署方案的優(yōu)缺點(diǎn)及其適用場合。希望本文介紹的內(nèi)容對你有所幫助。