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