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
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...