Freigeben über


[.NET 升級懶人包] 升級到 Visual Studio 2013 及 ASP.NET 4.5 的 6大好處及作法

升級到 Visual Studio 2013 及 ASP.NET 4.5 的 6大好處及作法

註:想了解 Visual Studio / MSDN 採購優惠方案,可參考這裏!

作者: 微軟MVP 王寧疆


摘要

.NET 從 4.5 版起 (目前是 4.5.1) 它進展地更快了!不論你目前的專案是 .NET 1.0 - .NET 4.0,本文將說明升級到 ASP.NET 4.5 (或 4.5.1)的好處及作法,適合使用 Visual Studio 2013 的開發者,若想了解更多 VS 2013 及 .NET 4.5.1 如何支援你的開發工作,可參考這篇文章! 你也可以直接觀看以下兩個影片,快速了解及入門,一步步教你如何升級,馬上進行你的升級計畫!

[影片1] ASP NET 4 5網站升級好處及Visual Studio 2013生產力大躍進   

[影片2] .NET Framework 4.5的好處及升級策略

     
升級到 Visual Studio 2013 與最新版本的ASP.NET 的六大理由

Microsoft致力於提供滿足開發團隊開發現代化應用程式的需求的整合式開發工具,對開發網站的開發團隊而言,最新的Visual Studio 2013整合式開發工具預設支援開發適合PC電腦、智慧型手機、與平板電腦瀏覽的網站,能夠有效協助開發團隊開發出對行動裝置更友善的網頁。

網頁程式設計師有六個充分的理由支持將舊有Visual Studio整合式開發工具升級到Visual Studio 2013: 

1. ASP.NET新版本功能更豐富

新版本的ASP.NET支援程式設計師方便地選擇開發網站需要使用的Framework。程式設計師可以在啟動Visual Studio 2013之後執行[檔案 | 新增 | 專案]功能,選擇欲使用的語言,再選擇[Web]項目中的[ASP.NET Web應用程式]專案型態,按下[確定]鍵之後就可以看到選擇所需要的Framework的畫面,如圖1所示:

圖1:選擇專案所需要的Framework的畫面


 
圖1所示即為選擇[Web Forms]和[Web API]兩種Framework的畫面。

除了支援程式設計師可以方便地選擇開發網站需要的Framework以外,Visual Studio 3013支援使用MVC設計模型開發網頁的程式設計師最新的MVC 5.0設計模型,讓程式設計師可以利用最新的Authentication Filter執行彈性的身份驗証,利用Override Filter功能覆寫Filter的功能,利用Attribute Routing為Controller類別的方法指定不同的Routing路徑。有興趣的讀者可以參考這篇文件獲取更多有關MVC 5.0的說明:GettingStarted with ASP.NET MVC 5

2.ASP.NET新版本具有更佳的執行效率

使用新版本的ASP.NET開發的網站支援搭配IIS 8.5伺服器的閒置後暫停功能,在指定的逾時時間終了時令網站進入暫停狀態,而非停止執行(預設值)。讓網站進入暫停狀態的好處是當下一個使用者的要求送達到網站的時候,暫停中的網站能夠快速啟動並提供服務,而且網站在進入暫停狀態時會較執行中的網站佔據較少的記憶體,因此設定網站閒置一段時間後進入暫停狀態不但可以提升網站的啟動速度,而且也可以提供IIS伺服器掛載網站的數量。

圖2所示即為利用Internet Information Service(IIS)管理員對網站執行所在的應用程式集區執行[進階設定],設定網站閒置20分鐘後進入暫停狀態的畫面:

圖2:設定網站執行所在的應用程式集區閒置20分鐘後進入暫停狀態的畫面

透過網站閒置後暫停設定,網站從暫停狀態中啟動要比從預設的終止狀態啟動,其啟動速度可以增快約10倍,而且IIS伺服器能夠掛載的網站數量也可以提升約7倍,因為暫停中的網站佔據的系統資源要比執行中的網站佔據的系統資源少很多,有興趣的讀者可以參考這篇文件的詳細說明:ASP.NETApp Suspend – responsive shared .NET web hosting)。

除了支援網站閒置指定的時間後進入暫停狀態以外,新版本的ASP.NET也支援利用多核心處理器對利用Assembly.LoadFrom方法和AppDomain.AssemblyResolve方法動態載入的組件執行JIT(Just-in-time)編譯,縮短JIT編譯組件的時間,有效改善組件第一次啟動的時間。

如果執行.NET應用程式的電腦透過Windows Update自動更新機制更新了.NET Framework相關的組件,所有更新過的.NET Framework組件都會經過JIT編譯處理,提升.NET Framework更新後應用程式的啟動速度。如果使用者使用的是未接上外接電源的筆記型電腦與平板電腦,省去JIT編譯更新過的.NET Framework組件的動作,能夠有效延長執行.NET應用程式的筆記型電腦與平板電腦的電池續航力。

在記憶體使用方面,新版本的.NET Framework支援利用GCSettings類別的LargeObjectHeapCompactionMode屬性設定整理大型物件堆積的記憶體空間,集中所有可用記憶體形成連續的記憶體空間,降低系統發生記憶體不足的機會,做法如下:

GCSettings.LargeObjectHeapCompactionMode= GCLargeObjectHeapCompactionMode.CompactOnce;

GC.Collect();

3.ASP.NET新版本提供更便捷的網站開發與管理工具

Visual Studio 2013支援的瀏覽器連結功能支援開發團隊利用不同的瀏覽器檢視網頁最新的內容,使用Visual Studio 2013的程式設計師只要將開發妥的網頁送到不同的瀏覽器檢視(例如IE瀏覽器和Chrome瀏覽器),當改變了網頁的內容之後,只要按一下工具列中的[瀏覽器連結]按鈕,所有正在檢視被編輯的網頁的瀏覽器都會自動更新成最新的網頁內容,讓程式設計師能夠很方便地檢視網頁的內容在不同的瀏覽器執行的情形。

在支援開發雲端解決方案方面,Visual Studio 2013支援方便的建立、發行、偵錯、與追蹤雲端網站的工作,例如程式設計師可以使用滑鼠的左鍵點選[伺服器總管]視窗中的[網站]項目,執行[新增網站]功能,快速建立Windows Azure雲端網站,如圖3所示:

圖3:利用[伺服器總管]視窗快速建立雲端網站的畫面

當網站功能開發妥之後,還可以利用[建置 | 發行網站]功能,將開發妥的網發行網站到Windows Azure雲端,如圖4所示:

圖4:發行網站到Windows Azure雲端的情形

除了基本的建立網站和發行網站的功能以外,Visual Studio 2013 支援對發行到Windows Azure的雲端網站進行遠端偵錯,以及記錄部署在Windows Azure的雲端網站的追蹤資訊,詳細的做法請參考這篇文件的說明:Troubleshooting Azure Web Sites in VisualStudio

如果開發團隊需要對所開發的網站進行負載測試,還可以利用Visual Studio Online服務提供的雲端負載測試功能,透過Windows Azure雲端提供的大量運算資源對網站進行負載測試,節省花費在建置負載測試環境或虛擬實驗室的金錢投資與時間成本,支援以最經濟及最有效率的方式發掘網站執行的效能瓶頸,打造真實的外界使用者瀏覽網頁的場景。詳細的做法請參考這篇文件的說明:https://aka.ms/loadtest-overview

  [ 提示] 有意開發雲端解決方案的企業或個人可以到Windows Azure 入口網站申請免費試用。

4.ASP.NET新版本具有更佳的安全性

ASP.NET新版本支援最新的ASP.NET Identity身份驗証機制以取代原有ASP.NET Membership身份驗証機制。ASP.NETIdentity身份驗証機制是一個全新的身份驗証機制,支援使用Web Form、MVC、Web API、以及SignalR等Framework的網站使用來驗証使用者的身份。對開發團隊而言,只要學習一種身份驗証機制,就可以適用於開發不同類型的ASP.NET解決方案,對開發人員的敎育訓練與網站的維護都有實質的好處。

透過ASP.NET Identity的幫助,網站能夠利用Entity Framework Code First功能定義自訂的身份驗証資訊(請參考:Overviewof Custom Storage Providers for ASP.NETIdentity),支援使用者利用外部的帳號,例如:

Active Directory帳號、Windows Azure Active Directory帳號、Microsoft Live帳號、Facebook帳號、Twitter帳號、或Google帳號登入網站(請參考:External Authentication Services),支援利用Provider將使用者的身份驗証資訊存入資料庫、SharePoint伺服器、或是Azure Table儲存機制、支援對身份驗証功能進行單元測試、支援claims-based身份驗証、以及利用SimpleRoleProvider類別管理使用者的權限。

5.支援使用ASP.NET Web API 2.0版開發HTTP服務

Web API 2.0版支援跨來源資源分享(CORS),允許網頁發出跨網域的AJAXRequest,讓實作同源策略(same-origin)的瀏覽器在安全狀況下進行跨網域的AJAX Request。

Web API 2.0版和MVC 5.0版一樣支援Attribute Routing,讓每一個Web API的功能可以提供自訂的Routing路徑。如果需要為所開發的Web API服務加入OData(Open Data Protocol)協定支援,可以在為專案執行加入控制器的時候選擇[具有動作的Web API 2 OData控制器,使用Entity Framework]類型的控制器,讓所開發的Web API 2.0服務預設支援OData協定,如圖5所示:

圖5:加入[具有動作的Web API 2 OData控制器,使用Entity Framework]類型的控制器的畫面
 

有興趣的讀者可以參考以下的文件,獲取更多有關Web API 2.0的詳細說明:ASP.NET Web API 2

6.支援使用最新的HTML5 和 CSS3網頁開發技術設計現代化網頁

從Visual Studio 2012開發Visual Studio就已提供良好的HTML5與CSS3網頁文件編輯支援,新版本的Visual Studio 2013除了延續對HTML5與CSS3網頁文件編輯支援以外,Visual Studio 2013另外支援程式設計師建立網站專案的時候,為所建立的網站專案加入Bootstrap套件支援,令網站的網頁被使用者使用行動裝置的瀏覽器進行瀏覽的時候自動調適版面的配置,讓網頁的內容適合行動裝置瀏覽器進行瀏覽。圖6所示即為使用Visual Studio 2013建立的網站專案的網頁被PC瀏覽器瀏覽的情形:

圖6:使用PC瀏覽器瀏覽Visual Studio 2013建立的網站的情形

同一個網頁被智慧型手機瀏覽的時候,網頁顯示的內容會自動調整版面,以適合螢幕較小的行動裝置(例如智慧型手機)所瀏覽。圖7所示即為同一個網頁被智慧型手機的瀏覽器瀏覽的情形:

圖7:利用智慧型手機的瀏覽器瀏覽VisualStudio 2013建立的網頁的情形

請注意網頁的內容已自動調整成垂直,而非預設的水平顯示,而且網頁頂端的功能表也會自動縮成右方的下拉式功能表。

基於以上的六大理由,將開發工具升級成最新的Visual Studio 2013,不論在開發工具方面或支援開發網頁的Framework方面都可以有效提升開發工作的生產力,除此之外,使用Visual Studio 2013開發的網頁不論在功能、執行效率、與安全性層面皆較使用舊版本的Visual Studio開發的網頁更勝一籌,是開發團隊開發企業用網頁更理想的選擇。

  
將舊網站升級成 ASP.NET4.5.1 網站

欲將舊網站升級成新網站,程式設計師只要使用新版本的Visual Studio 2013開啟舊網站的專案(包括ASP.NET網站專案和ASP.NET Web應用程式專案),新版本的Visual Studio 2013會自動將所開啟的舊版本專案檔或方案檔升級成新版本的專案檔或方案檔。請注意這個動作並未升級網站專案所使用的ASP.NET版本,欲升級網站專案使用的ASP.NET版本必須另外設定專案的屬性,指定專案欲使用的.NET Framework版本。詳細說明如下:

 

  • 升級[ASP.NET 網站]型態的專案的步驟
  1. 使用新版本的Visual Studio 2013執行[檔案 | 開啟 | 網站]功能,開啟[ASP.NET網站]型態的專案
  2. 使用滑鼠右鍵點選[方案總管]視窗中的專案名稱,執行[屬性頁]功能,將[建置]頁籤的[目標Framework]選項設定成新的.NET Framework版本

圖8:設定ASP.NET網站專案使用的.NET Framework版本的畫面

  1. 建置專案

 

[ 注意]

如果開發團隊只想要使用新版本的Visual Studio 2013維護舊版的ASP.NET網站專案,只要執行第一個動作即可,不需要執行第二個與第三個動作。

  • 升級[ASP.NET Web應用程式]型態的專案的步驟
  1. 使用新版本的Visual Studio 2013執行[檔案 | 開啟 | 專案]功能,開啟[ASP.NET Web應用程式]型態的專案
  2. 使用滑鼠右鍵點選[方案總管]視窗中的專案名稱,執行[屬性]功能,將[應用程式]頁籤的[目標Framework]選項設定成新的.NET Framework版本

圖9:設定ASP.NET Web應用程式專案使用的.NET Framework版本的畫面

  1. 建置專案

[ 注意]

如果開發團隊只想要使用新版本的Visual Studio 2013維護舊版的ASP.NET Web應用程式專案,只要執行第一個動作即可,不需要執行第二個與第三個動作。

[ 特別注意]

如果開發團隊需要升級ASP.NET 2.0之前的網站 (包括ASP.NET 1.0及ASP.NET 1.1的網站),請先將舊版本的網站專案複製到 IIS伺服器的根目錄下(例C:\InetPub\wwwroot),然後利用[Internet Information Service(IIS)管理員],將舊版本網站所在的資料夾建立成IIS應用程式,再啟動Visual Studio 2013 並開啟已部署到IIS伺服器的舊版本網站專案,Visual Studio 2013 會自動升級網站專案的專案檔與方案檔。請注意這個動作只會升級網站專案的方案檔與專案檔,不會升級專案中的網頁檔案(副檔名為.aspx的檔案)的內容,所以成功升級專案檔與方案檔之後您將會看到如圖10的畫面,提醒您必須另外執行[轉換成Web應用程式]的功能,才能夠升級網頁檔案的內容。

圖10:提醒您必須另外執行[轉換成Web應用程式]的功能才能夠升級網頁檔案內容的畫面

成功升級網站專案的專案檔與方案檔之後,請執行[專案 | 轉換成Web應用程式]功能,將網頁檔案的內容也升級成新版本的格式,您將會看到如圖11的畫面,請按下畫面中的[是]鍵進行升級網頁檔案內容的動作。

 

圖11:將網頁檔案的內容升級成新版本的格式的畫面

請特別注意只有升級ASP.NET 1.0和ASP.NET 1.1版的舊網站才需要執行這個動作,升級ASP.NET 2.0~ASP.NET 4.5的網站皆不需要執行這個動作。


重要的升級注意事項

將網站專案使用的ASP.NET版本升級成ASP.NET4.5.1之後,必須將ASP.NET網站執行所在的應用程式集區的[.NETFramework版本]設定變更成:v4.0,另外最好將ASP.NET網站執行所在的應用程式集區的[Managed管線模式]設定變更為:Integrated,以發揮IIS伺服器新的執行架構的優點,讓ASP.NET網站執行的更有效率。

欲設定網站執行所在的應用程式集區使用的[.NET Framework版本]和[Managed管線模式],請啟動[Internet Information Service(IIS)管理員],使用滑鼠右鍵點選ASP.NET網站執行所在的應用程式集區,執行[進階設定]功能,就可以執行設定[.NET Framework版本]和[Managed管線模式]設定的工作了,如圖12所示:

圖12:設定網站執行所在的應用程式集區的[.NET Framework版本]和[Managed管線模式]的畫面

[ 結語]

工欲善其事必先利其器,使用新版本的Visual Studio整合式開發工具開發ASP.NET網站不但可以提升網站開發工作的生產力,縮短網站上線的時程、使用現代化的網頁技術設計網頁、更可以開發適合各種裝置的瀏覽器瀏覽的網頁,讓所開發的網站能夠很輕鬆地符合現今使用者的瀏覽需求。

 

[相關連結]

ASP.NET 4.5升級的好處是什麼? 教學與入門-你不認識的 .NET系列講座

想了解 Visual Studio/ MSDN 採購優惠方案,可參考這裏!

[學習影片]

 

ASP.NET 4.5網站升級好處及 Visual Studio 2013 生產力大躍進

(講師 - 王寧疆)

 

 

(適合 Web Form 開發者、MVC 開發者也可了解) 既有的 ASP.NET Web Form網站,如何用最省力的方式,將這些網站升級,並享受升級的好處呢? 將從以下內容一一解惑。

  1. 行動化及Responsive 響應式設計
  2. 整合式身份驗證及社交登入 (例如AD驗證/facebook登入)
  3. 執行效能的提升
  4. 報表及圖表的改進..

影片 | 投影片

 

 

 

 

 

 

影片 | 投影片

 

.NET Framework 4.5的好處及升級策略

(講師 - 王寧疆)

 

(.NET 4.5 & 4.5.1 內容) 針對Web開發者,.NET 4.5的好處在哪?接下來我們進入升級的作法,針對 .NET 版本為 2.0 – 4.0,如何進行升級。若不升級 .NET版本,只升級專案檔到 Visual Studio 2013該如何進行,以享受升級帶來的效能及生產力的提升