微軟ASP.NET站點部署指南(1):部署介紹
2011-11-25 14:46 湯姆大叔 閱讀(4097) 評論(2) 收藏 舉報1. 綜述
該系列教程指導你如何將一個ASP.NET web 程序部署到第三方的主機提供商機器上。部署的方式用的是Visual Studio的one-click發布。首先部署到開發環境的IIS上進行測試,然后再部署到生產環境(第三方的主機提供商)上。
該系列總共包括11個章節和一個troubleshooting章節:看來內容很多,有點暈吧?其實,生產環境部署的基本流程在本系列里只占很小一部分,但是在現實的環境中,了解一些看似很小但非常重要的信息是非常必要的——例如,設置目標服務器上某個文件夾的權限。因此,在這個教程中,我們包含了很多這種信息,希望你能利用這些信息成功部署你的系統。
該系列教程是連續的,不是獨立章節的。不過如果某個章節確實和你沒影響的話,也可以直接學習下一章(不過,學習的時候可能會有些影響)。
閱讀對象
該教程是為中小型公司的ASP.NET開發人員準備的,或者是如下情況:
- 沒有使用持續集成(自動編譯和部署)系統的
- 生成環境是共享的第三方提供商
- 超人型的(一人承擔了開發,測試,部署工作)
企業環境里,幾乎都使用了持續集成,并且生成環境都是自己的服務器。不同的人有不同的角色。關于這種情況的部署我們將來可能會有另外的教程去講,與此同時,關于更多企業部署的信息可以訪問:ASP.NET Deployment Content Map。
任何規模的組織都可以將程序部署到Windows Azure云上,關于Windows Azure部署的文章,請參考:Cloud Development。
教程中的第三方主機提供商
該教程指導你如何在一個主機提供商那里建立賬戶,這里我們特地選定了一個提供商以便可以很直觀的來體驗一下部署的流程。每個提供商都會不同的功能以及部署的經驗技巧。該教程描述的流程是整個流程中非常通用的步驟。
我們使用的提供商是Cytanium.com,在教程里使用不代表認可或者推薦該提供商。
Web Application項目和Web Site項目
Contoso University是一個Visual Studio web application項目,該教程的大部分部署方法和工具都不是基于Web Site項目的,關于如何部署Web site項目,請訪問:ASP.NET Deployment Content Map。
ASP.NET Web Forms和ASP.NET MVC
Contoso University是一個ASP.NET Web Forms項目,但該教程的所有的東西也都適用于ASP.NET MVC項目,因為Visual Studio MVC項目是另外一種形式的web application項目。唯一不同的是,如果你的主機不支持ASP.NET MVC或者不支持你的MVC版本,那你需要做額外的工作將MVC的程序集部署到你的bin目錄下。
編程語言
Sample程序使用C#開發,但不要求你會C#,教程里展示的部署技術和語言無關。
Troubleshooting
部署的時候如果發現問題,或者部署的站點運行不正常而錯誤消息里又找不到線索,或者不能說明如何解決它。為了幫你解決一些常見的問題,第12章提供了troubleshooting 引用列表,如果在看教程做練習的時候發現錯誤,請務必check該章節。
歡迎留言
歡迎大家的留言,當教程進行更新的時候,會把大家的一些好的建議和提出的錯誤都更新到新版本里。
2. 先決條件
開始之前,確保你的電腦安裝了如下軟件:
- Windows 7
- Visual Studio 2010 SP1或Visual Web Developer Express 2010 SP1. (安裝這個的話,下面的就不用安裝了,因為 SP1以及集成了。)
- Microsoft Visual Studio 2010 SP1 Tools for SQL Server Compact 4.0
為了完成程序,可能還需要其他軟件,不過沒必要現在都安裝。如果需要用到的話,該教程會告訴你安裝的步驟。
3. 下載Sample程序
下載Sample程序
該教程部署的程序叫Contoso University,已經幫你創建好了。它是一個非常簡單的大學網站,和Entity Framework tutorials on the ASP.NET site教程里的程序是一樣的。
如果上述需要軟件都安裝好了,下載Contoso University程序。壓縮包里包含了該項目的多個版本和該教程的英文版本PDF文件。開始學習用ContosoUniversity-Begin,想看到最終程序的結果請用ContosoUniversity-End,想看第10章遷移數據到正式的SQL Server以后的效果請使用ContosoUniversity-AfterTutorial09。
你可以保存ContosoUniversity-Begin項目到任何目錄來用,默認目錄是:C:\Users\<username>\Documents\Visual Studio 2010\Projects
(教程里的截圖顯示的項目是放在C盤的root目錄里)
啟動Visual Studio2010,打開項目,Ctrl+F5運行。

通過網站上的menu bar你可以訪問如下功能:
- 顯示student statistics統計 (About 頁面)
- 顯示,編輯,刪除,添加students.
- 顯示,編輯courses課程
- 顯示,編輯instructors講師
- 顯示,編輯departments部門
下面是比較典型的頁面:


4. 查看影響部署的程序功能
下面列出的程序功能將影響到如何部署以及必須部署的內容,在接下來的章節,會對每個功能都詳細講解:
- Contoso University使用SQL Server Compact數據庫存儲數據,該數據庫包含測試數據和生產環境數據,在部署到生產環境時需要將測試數據排除。
- 程序使用ASP.NET membership來存儲數據到SQL Server Compact數據庫。程序有一個管理員賬戶可以有權訪問受限制的信息。你需要部署帶有一個管理員賬戶的membership 數據庫(不包括測試賬戶)。
- 由于程序的數據庫和membership數據庫都使用SQL Server Compact,除了部署這些數據庫,還需要部署SQL Server Compact數據庫引擎到第三方主機上。
- 程序使用了ASP.NET Universal Provider來保持數據到數據庫中,所以這些provider的程序集也需要和程序一起部署。
- 程序使用了Entity Framework 4.1 (Code First)來訪問數據,所以Entity Framework 4.1程序集也需要和程序一起部署。
- 程序使用了第三方的錯誤日志和報表工具。該工具的程序集也需要和程序一起部署。該工具會將日志寫入XML文件到一個文件夾,所以需要確保運行該網站的ASP.NET賬戶對該文件夾擁有寫權限,并且部署的時候排除這個文件夾(否則的話,測試環境的XML日志文件都會被部署到生產環境)。
- 程序用到了的Web.config的一些設置,這些設置在不同的環境有不同的值,所以在部署的時候需要更新這些設置,另外還有一些設置因為build配置不同也需要更新(Debug或Release)。
- Visual Studio解決方案里包含了一個類庫項目,只需要部署該項目生產的程序集而不需要部署項目本身(例如:cs文件)。
本章節,你下載了sample程序并且查看了影響部署的程序功能,接下來的章節是準備設置一些部署的參數使得部署的一部分步驟自動運行,其它的則需要手工來做。
該系列教程指導你如何將一個ASP.NET web 程序部署到第三方的主機提供商機器上。部署的方式用的是Visual Studio的one-click發布。首先部署到開發環境的IIS上進行測試,然后再部署到生產環境(第三方的主機提供商)上。
浙公網安備 33010602011771號