程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 非常ASP.NET - Web部署項目

非常ASP.NET - Web部署項目

編輯:關於ASP.NET

當 ASP 第一次發布時,Web 編程還比較困難,因為需要 IIS 來處理 ASP 頁。後來,ASP.NET 2.0 和 Visual Studio® 2005 通過引入網站開發模型使一切工作都變得容易了。借助該網站模型,您不必在 Visual Studio 中創建新項目,而是可以指向一個目錄並開始編寫網頁和代碼。此外,您還可以使用內置的 ASP.NET Development Server 快速測試站點,ASP.NET Development Server 將 ASP.NET 寄宿在一個本地進程中,並消除了必須安裝 IIS 才能進行開發這一先決條件。該網站模型的魅力在於您在開發 Web 應用程序時無需考慮打包和部署。需要其他類時怎麼辦?向 App_Code 目錄添加一個 .cs 文件即可開始編寫。希望將可本地化的字符串存儲在資源文件中時怎麼辦?向 App_GlobalResources 目錄添加一個 .resx 文件並鍵入字符串。一切都順順當當;您根本就不必考慮編譯和部署方面的事情。

在准備進行部署時,您有多種可選方案。最簡單的方案是將文件復制到主運行服務器並按要求編譯每一個文件(和在測試環境中一樣)。第二種方案是使用 aspnet_compiler.exe 實用工具將應用程序預編譯為二進制版本,之後將只剩下要放到服務器上的一組程序集、靜態內容和配置文件。第三種方案也使用 aspnet_compiler.exe,但要創建一個可更新的二進制部署,其中 .as*x 文件保持不變(並且可修改),而所有代碼文件都編譯為二進制程序集。

這似乎涵蓋了每一種可能的情況,開發人員可以一心一意地編寫 Web 應用程序,而在以後實際部署時再作打包和部署決定。不過,此模型也遭到了相當大的反對,特別是那些習慣了自己開發的 Web 項目是在實際項目文件中指定的實際項目的開發人員的反對,這些項目允許注入生成前和生成後函數、從生成過程排除文件以及使用命令行開關在調試和發布版本之間進行切換等操作。有鑒於此,Microsoft 迅速推出了 Web 應用程序項目(即 WAP),最初它是作為 Visual Studio 2005 的插件發布的,現在包含在 Visual Studio 2005 Service Pack 1 (SP1) 中,Visual Studio 2005 Service Pack 1 (SP1) 可從 msdn.microsoft.com/vstudio/support/vs2005sp1 下載。

WAP 可替代與 Visual Studio .NET 2003 Web 項目模型非常接近的網站模型。新的 WAP 模型會在生成過程中編譯所有源代碼文件,並在本地的 /bin 目錄中生成一個用於部署的程序集。WAP 還使得增量采用 ASP.NET 2.0 引入的新的分部類代碼隱藏模型變得更加容易,因為現在您可以打開 Visual Studio .NET 2003 項目,並且在轉換過程中只修改 .sln 和 .csproj(或 .vbproj)文件。然後可將每個文件及其代碼隱藏類轉換為與項目中任何其他文件都無關的新的分部類模型(操作方法是:在解決方案資源管理器中右鍵單擊各個文件並選擇“轉換為 Web 應用程序”),也可以讓它們仍然使用舊模型。這與將 Visual Studio .NET 2003 Web 項目轉換為網站模型大不相同,轉換為網站模型會同時轉換所有文件,並且不支持增量采用。

最後,還有一個稱為“Web 部署項目”(本專欄的主題)的新項目類型,它引入了許多既針對網站項目又針對 Web 應用程序項目的附加部署選項。 Web 部署項目彌補了既針對網站應用程序又針對 Web 應用程序項目的部署選項中的遺留漏洞,並且可以簡單而又可擴展地實現幾乎任何部署方案。 為確切了解這一新項目類型增加了哪些內容,我們先來回顧一下在 Web 部署項目推出之前的情況。

在 ASP.NET 2.0 中部署

使用網站模型生成應用程序時,您可以選擇對部署站點進行預編譯。通過 Visual Studio 2005 中的“生成”|“發布”菜單或直接通過命令行實用工具 aspnet_compiler.exe,您可以訪問預編譯實用工具。圖 1 顯示了 Visual Studio 所顯示的此工具的界面。

圖 1 網站發布實用工具

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved