ASP.NET Web Forms 持續進化及新功能 - Visual Studio 2013 Update 2 安裝後

各位開發者:

      Visual Studio 2013 Update 2 已提供下載了,你安裝了嗎? 台灣的開發者大部份會從 Web 開發開始,因此 ASP.NET Web Forms 技術是許多開發者熟悉的技術,本文說明 VS 2013 Update 2 安裝後,在 ASP.NET Web Forms 的開發上有哪些進化!(有些是 VS 2013 RTM 正式版就有的功能,Update 2 後再強化及改善)

One ASP.NET 的支援

      從 VS 2013 起,當你新增一個 Web 專案,你會發現所有 Web 相關的專案範本都已整合在一起了,包括 Web Forms, MVC, Web API, SignalR, Facebook 應用開發, 驗證 (ASP.NET Identity) ...因此叫做 One ASP.NET 的開發經驗。這表示 Web Forms 專案範本也已無縫整合了上述這些技術,你可以在 Web Forms 專案中,加入 MVC、Web API 等技術,你也可以設定你的  ASP.NET 應用程式認證機制,透過 One ASP.NET的專案建立精靈,如下圖所示,了解更多,請看 [ASP.NET 4.5.1 的升級]

One ASP.NET 的架構下,你可開發 Web 相關應用,在一致的開發經驗下,

新增 ASP.NET 專案範本精靈,可任選 Web Form, MVC, Web API 技術混搭,並設定身份驗證機制、或是佈署到 Azure 雲平台。

ASP.NET Identity 2.0 支援

          ASP.NET Identity 是一個現代化的會員身份系統 (membership system) 用以建立 ASP.NET 應用程式。Identity 讓你更容易新增 user profile,或是支援社交帳號登入,例如在你的應用程式中,支援 Facebook, Twitter, Microsoft Account, Google 帳號登入。ASP.NET Identity 的儲存層,除了 SqlServer 外也可以是 Azure Table Storage。很棒的是,關於帳號管理有些新功能: Account Confirmation (當申請帳號時,可發一封email 請對方確認,以認證其申請), 兩階段認證 (Two-Factor Authentication, 申請帳號後,發一簡訊給一認證碼,於網頁中輸入正確才通過認證),鎖住帳號 (Account Lockout) 及 從任一處單一簽出 (Single Sign out), 密碼重設 (Password Reset) 及許多安全認證機制。這此機制以往開發人員要實作比較困難,現在 ASP.NET Identity 2.0 中都已內建了!

Visual Studio 2013 Update 2 安裝後,Web Forms 範本已經更新並使用了 ASP.NET Identity 2.0,包括 Account Confirmation, Password Reset 這些功能。

Bootstrap 支援 (響應式 UI 框架)

     從 VS 2013 起,Web Forms 專案範本,也已內建 Bootstrap 這個直覺且支援響應式 UI 框架,你可以看這篇文章,了解在 ASP.NET 4.5 及 VS 2013 中如何支援 Responsive Web Design (RWD),文章 - https://aka.ms/responsiveweb

以下是 Web Forms 範本,在 PC 及手機瀏覽器的樣子。

webformstemplate

排程的背景工作, 在 .NET 4.5.2 中  (Schedule small background worker tasks in .NET 4.5.2)

     .NET 4.5.2 也推出了! 它高度與 .NET Framework 4, 4.5 及 4.5.1 相容,且可以就地安裝 (in-place),各位開發者不用擔心相容性,可立即升級使用。.NET 4.5.2 其中一個特色是,新增了 HostingEnvironment.QueueBackgroundWorkItem method,讓你可以在背景排程一些小型的工作 (small background work items)。ASP.NET 會追蹤這些工作項目,避免 IIS 任意中斷這些工作 (worker process),直到所有背景的工作項目都完成為止。這讓 ASP.NET 應用程式可以更可靠地排程這些非同步的工作項目 (schedule Async work items)

.NET Framework 4.5.2 下載及更多細節,請看 - this post.

Web Forms Scaffolding

      在 Visual Studio 2013, 新增了叫 Scaffolding Framework 的框架,讓使用者可以建立一個模型,用來新增 Create, replace, update 及 delete 的 views。在 Update 2 後,Web Forms 也支援這個功能,可以快速建立 Web Forms 的頁面。如下圖所示,一個產品型錄的頁面,透過 Scaffold,可以很快幫你建立一個新增產品的頁面,如下圖右方。

scaffoldingimage

最新的 preview 在此 here ,我們也正在努力讓 VB 語言也可以支援 Scaffold

Entity DataSource control for Entity Framework 6 (EF 6)

Entity Framework 6 (EF 6) 是最新版本。EF 6  包括了新功能: 連線的可靠性 (Connection Resiliency),在當連線失敗時可自動重試命令。要在 Web Forms 應用程式中使用 EF 6,新增了一個 Entity DataSource control。這個控制項也透過 NuGet 套件發送 (Microsoft.AspNet.EntityDataSource). 更多細節請參考 - this post.

Dynamic Data provider for Entity Framework 6

Dynamic Data 是個 runtime scaffolding 引擎,讓你可以很快地建立豊富的資料導向應用程式 (data driven applications),你也可以客製化 UI 及商用邏輯。在 EF 6中,新增了一個 Dynamic Data provider,可善加利用 EF 6的功能及好處。這個 provider也透過 NuGet 套件發送 (Microsoft.AspNet.DynamicData.EFProvider). 更多細節請參考 - this post.

Universal Providers for Entity Framework 6

Universal providers 在 ASP.NET Web Forms 範本中,它是 Visual Studio 2012 版本內建的。Universal providers 是在 Entity Framework 5 基礎上。新版本更新了這個 providers 以支援 EF 6,可善加利用 EF 6的功能及好處。這個 provider也透過 NuGet 套件發送 (Microsoft.AspNet.Providers.Core)

Rosyln 支援 - 新的編譯器 (compiler) 可加快應用程式啟動

         這是第一個 Preview,叫做 CodeDOM providers,它使用了 Roslyn 這個新的編譯器,可自 NuGet 下載這個套件 (Microsoft.CodeDom.Providers.DotNetCompilerPlatform),並安裝在你 Visual Studio 的專案中。

啟用了 Roslyn compilers 在你的 ASP.NET 應用程式中,主要有兩大好處: 

  1. 支援新的語言特色
  2. 可以改善應用程式的起始時間及預先編譯時間 (startup/pre-compilation time)

針對第二點,對於一些大型、且很複雜的 ASP.NET 應用程式的用戶,會很有幫助。在我們的測試中,一旦啟用了新的 CodeDOM providers,一個大型且複雜的應用 ( 超過 600 assemblies in \bin, 超過 500 user controls & pages),runtime 編譯時間,在 startup/pre-compilation 階段,將從大約 15 分 ,大幅下降到 70 秒左右

安裝了這個套件後,你只需要啟動它,這個套件將會幫你修改 web.config 檔,這個新的 providers 在 runtime 階段運作的相當好,當使用 ASP.NET Pre-compilation 工具 - aspnet_compiler.exe.

完整的細節,請參考 - https://blogs.msdn.com/b/webdev/archive/2014/05/12/enabling-the-net-compiler-platform-roslyn-in-asp-net-applications.aspx

 

本文部份內容來自這篇原文。若你對 ASP.NET 有問題或是建議,可上 - https://forums.asp.net/18.aspx/1?Web+Forms 或是 https://aspnet.uservoice.com/forums/41202-asp-net-web-forms

[延伸閱讀]

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

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

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