摘要:VS 2010 SP1 (Beta) 與IIS Express
原文發表位置:VS 2010 SP1 (Beta) and IIS Express
原文發表時間:January 03, 2011 10:56 PM
上個月我們發佈了VS 2010 Service Pack 1(SP1) Beta 版。你能從Jason Zander的兩篇文章和Scott Hanselman涵蓋SP中可用新功能的文章中獲取更多相關資訊。
你可以從這裡下載和安裝VS2010 SP1 Beta。
IIS Express
夏初我發表過一篇關於IIS Express的文章。 IIS Express是為開發人員場景進行了最佳化的IIS 7.5免費版。 我們認為它整合了如今內建在VS中的ASP.NET Web 伺服器(aka Cassini) 的易用性和IIS的全副功能。如:
- 是輕量級的,容易安裝(下載量小於5Mb,安裝很快)。
- 不要求管理員帳戶來運行、偵錯Visual Studio中的應用程式。
- 實現了完整的web-伺服器功能集——包括SSL,URL Rewriting,和其他IIS 7.x模組。
- 支援並啟用IIS 7.x所支援的同樣的可擴充模型和Web.Config文件組態。
- 能與完整的 IIS Web 伺服器和ASP.NET 程式開發伺服器並行安裝(一點都不衝突)。
- 能和Windows XP及以上作業系統一起使用——給你提供一個適應所有Windows作業系統平台的完整IIS 7.x 開發者功能集。
□
IIS Express(和ASP.NET開發伺服器一樣)能快速啟動去運行一個磁碟地址上的網站。它不需要任何註冊或配置步驟。這讓它真的很容易在開發場景中啟動和運行。
Visual Studio 2010 SP1中新增了對IIS Express的支援——你能透過上個月發佈的VS 2010 SP1 Beta開始使用它。
下載和安裝IIS Express
IIS是獨立的,不屬於VS 2010 SP1 Beta的一部分。請透過這個連結下載你所需要的4M左右的IIS並安裝(利用Web PI 進行安裝)。
一旦IIS Express裝好,VS2010 SP1將支援一些新的IIS Express命令和對話盒選項,將會讓你更加容易使用。
為現有的專案啟用IIS Express
當前的Visual Studio在運行ASP.NET專案時預設使用內建ASP.NET 程式開發伺服器(aka Cassini):
讓你現有的專案轉成使用IIS Express真的很簡單。你可以透過打開現有專案的專案屬性對話盒,然後點裡面的「web」選項,選擇「使用IIS Express」核取方塊來完成。
甚至更簡單的,只要在你的現有專案上點右鍵,選擇「使用IIS Express…」選單命令:
現在當要執行或偵錯專案時你會看到IIS Express現在作為你的web伺服器自動開啟並執行:
你能選擇在系統匣 (system tray) 內的IIS Express圖示上點右鍵來查看、瀏覽所有執行在它上面的網站和應用程式:
注意如果你想恢復到使用ASP.NET 程式開發伺服器,你可以再次以右鍵點按專案,然後選擇「使用Visual studio 開發伺服器」選項(或到專案屬性裡面,點Web選項,取消選取 IIS Express)。這樣下次你執行專案的時候將恢復到ASP.NET開發伺服器狀態。
IIS Express屬性
Visual Studio 2010 SP1顯露了幾個新的IIS Express組態選項, 這些在之前用ASP.NET開發伺服器時是不能設定的。其中一部分是透過專案的屬性窗格呈現的(在方案總管中選擇專案節點,然後透過屬性視窗更改它們):
比如,啟動像SSL支援之類的東西(對ASP.NET開發伺服器是不可能的),現在可以很容易地透過將「SSL Enabled」屬性設定為「True」實現:
一旦這個操作完成IIS Express將顯露專案的HTTP和HTTPS兩個端點供我們使用:
SSL 自我簽署憑證 (Self-signed Certificate)
IIS Express隨一個自我簽署憑證一起發佈,作為安裝的一部分,它讓你在開發中使用SSL時不需要安裝自己的憑證。一旦你更改了上面的下拉式選單以啟用SSL,你就能用合適的Https:// URL前置詞透過SSL連接瀏覽你的網站。
但是使用自我簽署憑證需要注意的是,瀏覽器(比如IE)會不厭其煩地警告你它們不能被信任:
你能標記憑證為可信任的以避免再遇到這樣的對話盒——或只要保持憑證不被信任,在瀏覽器警告你不要信任你的本地Web伺服器的時候點「繼續」按鈕。
其他IIS設定
IIS Express使用其自己的 per-user ApplicationHost.Config 文件來配置預設伺服器行為。因為它是 per-user 的,所以能被沒有管理員權限的開發人員所配置,這和完整的IIS不一樣。如果你想要最大程度地客制伺服器,你能透過它客制所有IIS功能和設定(比如:為SSL使用你自己的憑證而不是自我簽署憑證)。
我們建議將所有針對IIS和ASP.NET的特別設定都儲存在作為專案的一部分的web.config文件中——因為能讓應用程式的部署更簡單(既然設定能隨同應用程式內容一起複製)。 IIS(自IIS 7起)不再使用詮釋資料(Metabase),而是使用和ASP.NET一直支援的相同的Web.config配置文件——這讓基於 xcopy/ftp 的部署更容易。
讓IIS Express成為你的預設Web伺服器
上面我們看過了如何將現有的使用ASP.NET 開發者Web伺服器的網站轉為使用IIS Express。
你能配置Visual studio使所有新專案使用IIS Express作為預設Web伺服器,透過: 點工具->選項選單命令,打開選項對話盒內的專案和解決方案->Web專案節點:
點「對新的以檔案為主的網站和專案使用IIS Express」核取方塊,會讓Visual Studio對所有的新網站和專案使用它。
總結
我們認為IIS Express使建立、運行和測試web應用程式變得更簡單。它能與所有版本的ASP.NET一起使用,支援所有的ASP.NET 應用程式型別(顯然包括ASP.NET Web Form 和ASP.NET MVC應用程式)。因為IIS Express是基於IIS 7.5 程式庫的,你有一個可使用的完整的web-伺服器功能集。這意味著你能構建和運行你的應用程式,就像他們在真的正式環境 (production) web 伺服器上一樣。除了支援ASP.NET之外,IIS Express還支援傳統的ASP和 IIS所支援的其他文件類型與擴充——對整合了各種不同技術的網站來說再完美不過了。
最重要的是——你不必為了使用它更改任何程式碼。如上所見,讓現有的Visual Studio web 專案來使用它的改動是很小的。你能從現在開始透過VS2010 SP1 Beta來使用IIS Express.
希望對您有所幫助