3.介紹ASP.NET Core框架

来源:https://www.cnblogs.com/caofangsheng/archive/2020/04/04/12631345.html
-Advertisement-
Play Games

介紹ASP.NET Core框架 在這篇文章中,我將要向你們簡短介紹一下ASP.NET Core 框架。當今社會,當提到軟體開發,每個人都是討論著開源以及跨平臺開發。總所周知,微軟是以它的基於Windows產品出名的,比如Windows系統,Office辦公套件等。現在我們處在新時代軟體開發的潮流中 ...


介紹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框架,希望可以幫到大家。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言:在大一學習了C語言之後,基本掌握了一門面向過程的程式設計語言,本學期所學習的java是一門面向對象的語言,在問題的解決方面不像C一樣是以過程來思考問題,而是要以面向對象的思維來解決問題。此篇文章是對於本學期前三次Java作業的一個階段性總結,第一次作業花費了最多的時間,有一個測試點沒有過,第二 ...
  • 為表達全國各族人民對抗擊新冠肺炎疫情鬥爭犧牲烈士和逝世同胞的深切哀悼,國務院今天發佈公告,決定2020年4月4日舉行全國性哀悼活動。 當使用控制項模板時,需要決定如何更廣泛地共用模板,以及是否希望自動地或明確地位用模板。 第一個問題是關於希望在何處使用模板的問題。例如,是將它們限制在特定視窗中嗎?大多 ...
  • 2020年4月2日微軟.NET 團隊的項目經理 Richard 在博客上 發佈了.NET 5 Preview 2:https://devblogs.microsoft.com/dotnet/announcing-net-5-0-preview-2/ ,3月16號,Scott Hunter 在博客中發 ...
  • 前言 命名空間已經在 .NET 中使用了多年,一直追溯到 .NET Framework 1.1。它在 .NET 實施本身的數百個位置中使用,並且直接被成千上萬個應用程式使用。在所有這些方面,它也是 CPU 消耗的重要來源。 但是,從性能角度來看,正則表達式在這幾年間並沒有獲得太多關註。在 2006 ...
  • 在這篇文章中,我將詳細講解ASP.NET Core Project File.如果你還沒看我這個系列的前面幾篇文章,先去看看,打好基礎,再來看這篇吧。 如果你使用過之前版本的.NET Framework,你就會知道,當你使用C#創建應用程式的時候,.NET Framework框架將會創建尾碼名為”. ...
  • 前言 在上一篇中簡單介紹了Linq的入門級用法,這一篇嘗試講解一些更加深入的使用方法,與前一篇的結構不一樣的地方是,這一篇我會先介紹Linq里的支持方法,然後以實際需求為引導,分別以方法鏈的形式和類SQL的形式寫出來。 前置概念介紹 1. 謂詞、斷言,等價於 即返回bool的表達式 2. 表達式樹, ...
  • 這篇文章中,我將教大家如何從頭到尾創建ASP.NET Core Web應用程式,這個系列,前面我已經寫了三篇文章,大家看這篇文章之前,可以先去熟悉一下前面的3篇文章,打一下基礎。在這篇文章中,我將和大家討論下麵兩個問題:使用Visual Studio 2019創建ASP.NET Core Web應用 ...
  • 在4月2日,發佈了.NET 5.0 Preview2,這次發佈對一些功能和性能做了相關的改進,同時後面也會實施5.0版本更多的功能,其中一些功能設計目前也在 "dotnet/designs" 中顯示,在 ".NET 5 Preview1" 中可以看到.NET 5里程碑中已經完成的建設任務,當然可以查 ...
一周排行
    -Advertisement-
    Play Games
  • Timer是什麼 Timer 是一種用於創建定期粒度行為的機制。 與標準的 .NET System.Threading.Timer 類相似,Orleans 的 Timer 允許在一段時間後執行特定的操作,或者在特定的時間間隔內重覆執行操作。 它在分散式系統中具有重要作用,特別是在處理需要周期性執行的 ...
  • 前言 相信很多做WPF開發的小伙伴都遇到過表格類的需求,雖然現有的Grid控制項也能實現,但是使用起來的體驗感並不好,比如要實現一個Excel中的表格效果,估計你能想到的第一個方法就是套Border控制項,用這種方法你需要控制每個Border的邊框,並且在一堆Bordr中找到Grid.Row,Grid. ...
  • .NET C#程式啟動閃退,目錄導致的問題 這是第2次踩這個坑了,很小的編程細節,容易忽略,所以寫個博客,分享給大家。 1.第一次坑:是windows 系統把程式運行成服務,找不到配置文件,原因是以服務運行它的工作目錄是在C:\Windows\System32 2.本次坑:WPF桌面程式通過註冊表設 ...
  • 在分散式系統中,數據的持久化是至關重要的一環。 Orleans 7 引入了強大的持久化功能,使得在分散式環境下管理數據變得更加輕鬆和可靠。 本文將介紹什麼是 Orleans 7 的持久化,如何設置它以及相應的代碼示例。 什麼是 Orleans 7 的持久化? Orleans 7 的持久化是指將 Or ...
  • 前言 .NET Feature Management 是一個用於管理應用程式功能的庫,它可以幫助開發人員在應用程式中輕鬆地添加、移除和管理功能。使用 Feature Management,開發人員可以根據不同用戶、環境或其他條件來動態地控制應用程式中的功能。這使得開發人員可以更靈活地管理應用程式的功 ...
  • 在 WPF 應用程式中,拖放操作是實現用戶交互的重要組成部分。通過拖放操作,用戶可以輕鬆地將數據從一個位置移動到另一個位置,或者將控制項從一個容器移動到另一個容器。然而,WPF 中預設的拖放操作可能並不是那麼好用。為瞭解決這個問題,我們可以自定義一個 Panel 來實現更簡單的拖拽操作。 自定義 Pa ...
  • 在實際使用中,由於涉及到不同編程語言之間互相調用,導致C++ 中的OpenCV與C#中的OpenCvSharp 圖像數據在不同編程語言之間難以有效傳遞。在本文中我們將結合OpenCvSharp源碼實現原理,探究兩種數據之間的通信方式。 ...
  • 一、前言 這是一篇搭建許可權管理系統的系列文章。 隨著網路的發展,信息安全對應任何企業來說都越發的重要,而本系列文章將和大家一起一步一步搭建一個全新的許可權管理系統。 說明:由於搭建一個全新的項目過於繁瑣,所有作者將挑選核心代碼和核心思路進行分享。 二、技術選擇 三、開始設計 1、自主搭建vue前端和. ...
  • Csharper中的表達式樹 這節課來瞭解一下表示式樹是什麼? 在C#中,表達式樹是一種數據結構,它可以表示一些代碼塊,如Lambda表達式或查詢表達式。表達式樹使你能夠查看和操作數據,就像你可以查看和操作代碼一樣。它們通常用於創建動態查詢和解析表達式。 一、認識表達式樹 為什麼要這樣說?它和委托有 ...
  • 在使用Django等框架來操作MySQL時,實際上底層還是通過Python來操作的,首先需要安裝一個驅動程式,在Python3中,驅動程式有多種選擇,比如有pymysql以及mysqlclient等。使用pip命令安裝mysqlclient失敗應如何解決? 安裝的python版本說明 機器同時安裝了 ...