3.介紹ASP.NET Core框架

介紹ASP.NET Core框架

           在這篇文章中,我將要向你們簡短介紹一下ASP.NET Core 框架。當今社會,當提到軟體開發,每個人都是討論著開源以及跨平台開發。總所周知,微軟是以它的基於Windows產品出名的,比如Windows系統,Office辦公套件等。現在我們處在新時代軟體開發的潮流中,一個新的革命性的產品,被微軟推出市場,那就是—–ASP.NET Core.作為本文的一部分,我將詳細述說下面幾點。

  1. ASP.NET的歷史
  2. 什麼是ASP.NET Core
  3. ASP.NET Core的特點和優點有哪些
  4. ASP.NET Core中沒有哪些東西

ASP.NET 的歷史

        總所周知,ASP.NET是一個web框架,並且它被用來開發數據驅動的Web應用程式,已經好多年了。從那以後,ASP.NET框架,就在穩固的更新變革中,現在最新的版本就是ASP.NET Core.

  1. ASP.NET Core不是ASP.NET Framework的連續擴展,相反,它是從頭到尾,完完全全的一個新框架。
  2. ASP.NET Core實際上是在當前ASP.NET Framework上的重寫,但是它更小,更具模組化。
  3. 一些人可能認為ASP.NET Core在大多數方面和ASP.NET Framework保持一致,但是這並不完全正確。ASP.NET Core實際上是在ASP.NET Framework基礎上做的一個大的根本性改變。

什麼是ASP.NET Core

        ASP.NET Core是一個全新的跨平台、高性能、輕量級、開源的框架。它可以用來開發現代的、聯網的、基於雲的Web應用程式、IoT物聯網、以及WebApIs,ASP.NET Core開發的這些應用可以運行在Windows、Linux、或者Mac作業系統上。

       ASP.NET Core框架是基於.NET Framrwork 4.x的完全重寫,ASP.NET Core改變了.NET Framework的架構,現在它變得更加模組化、可擴展、開源的、高性能、輕量級、並且可以跨平台。

ASP.NET Core的優點和特點

現如今,ASP.NET Core在開發者中,變得越來越流行,是因為下面幾個原因,我們來詳細看看吧:

  1. 開源的:ASP.NET Core框架是開源的。框架的源程式碼在:https://github.com/aspnet ,你可以免費的下載,甚至如果你還可以修改,編譯成你自己的版本。
  2. 跨平台:ASP.NET Core是重新設計的框架,它的開發和部署都是跨平台的。我們來討論一下ASP.NET Core跨平台的特點,並且把它和早期的.NET Framrwork做一個比較。早期的ASP.NET Framework應用程式,僅僅只能運行在Windows平台上,然而ASP.NET Core可以開發運行在不同的平台上,例如:Windows、Mac、或者Linux作業系統上。我們僅僅只能把ASP.NET Framework 4.x的應用程式部署在IIS上;然而我們可以在IIS、Nginx、Docker、Apache部署ASP.NET Core應用程式,甚至還可以自託管部署。為了開發ASP.NET Core應用程式,你的選擇有很多,你可以選擇使用Visual Studio或者Visual Studio Code等。如果你想,你可以選擇任何第三方的編輯器來開發ASP.NET Core應用程式。
  3. 對HTML以及Http請求的完全控制:在ASP.NET Core MVC框架中,你將獲得HTML的完全控制權。這就意味著,你可以創建從簡單到複雜的、帶有CSS樣式的HTML頁面,並且把他們顯示在瀏覽器上。同樣的,你將獲得HTTP請求的完全控制權,這樣就非常簡單的來創建一個Ajax請求了;在ASP.NET Core中,你可以很方便的以插件的形式使用客戶端框架,例如JQuery、Bootstrap、React、以及Angular。
  4. 統一的MVC和Web API框架:ASP.NET Core提供了一個統一的編程模型,用來開發Web Apps和Web APIs.這就意味著,一個Controller類,可以用來處理MVC和Web APIs. 我們在ASP.NET Core(Web Apps或者Web APIs)中創建的控制器,都是要繼承Controller基類,並且返回IActionResult介面。IActionResult提供了很多的實現,例如JsonResult以及ViewResult等,還有後面要講到的很多,都實現了IActionResult介面。在ASP.Net Core API應用程式中,控制器中的方法,是返回JsonResult.與此同時,在ASP.NET Core Web應用程式中,控制中的Action方法返回的是ViewResult.
  5. 可擴展的框架:ASP.NET Core MVC框架是高度可擴展的。這意味著,今天你開發了一個應用程式,以後也很容易擴展二次開發。下面的這些關鍵特點提供了ASP.NET Core強大的可擴展性:

          1.視圖組件(View Components)

          2.Tag幫助類(Tag Helper)

          3.路由(Routing)

         接下來的文章中,我將會一一詳細,討論這些細節的,敬請關注!

     6.  依賴注入:  在真實的應用程式中,最重要的設計模式之一就是:依賴注入。並且同樣重要的是ASP.NETCore 框架提供了內置的依賴注入,我將會在後面的文章中,帶大家一起來學習ASP.NET Core中的依賴注入。

     7.  測試可維護性:你可以很方便的測試維護ASP.NET Core應用程式。這是因為ASP.NET Core允許你將應用程式分成各個獨立的部分,並且允許你獨立的測試各個部分。測試框架例如:xUnit以及MOQ可以很輕鬆的集成到ASP.NET Core應用程式中,進行任何模擬測試。

    8.  處理請求響應管道:我們可以使用中間件組件,來處理ASP.NET Core應用程式中的請求響應。在早期的ASP.NET Framework 4.x中,我們通常使用處理程式和模組來處理請求響應管道。ASP.NET Core提供了很多內置的中間件組件,我們可以使用這些中間件組件來處理請求響應管道。如果你願意,也可以創建自己的中間件組件,來處理請求響應管道。在後面的文章中,我將會教大家中間件組件的使用,以及在ASP.NET Core中怎麼來創建自定義的中間件組件。

什麼是ASP.NET Core沒有的東西

如果你是從ASP.NET 4.x過來學習這個系列的人,那麼你就會發現,下面這些在ASP.NET Core中是沒有的:

  1. Global.asax文件
  2. Web.config文件
  3. HTTP Handlers以及HTTP Modules(HTTP 處理程式和HTTP模組)
  4. ASP.NET 頁面生命周期模型(ASP.NET Page Life-Cycle model)

在下篇文章中,我將帶領大家,使用Visual Studio創建第一個ASP.NET Core應用程式.這篇文章中,我向大家簡單介紹了ASP.NET Core框架,希望可以幫到大家。