部署ASP.NET的三大技術(下) (3)

來源:互聯網
上載者:User
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安裝項目,瞭解了各種部署方案的優缺點及其適用場合。希望本文介紹的內容對你有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.