1. 程式人生 > >asp.net core 系列 1 概述

asp.net core 系列 1 概述

一.   概述

  ASP.NET Core 是一個跨平臺的高效能開源框架,可以用來:建置 Web 應用程式和服務、IoT應用和移動後端、在 Windows macOS 和 Linux 上使用喜愛的開發工具、部署到雲或本地、NET Core 或 .NET Framework 上執行。

  ASP.NET Core  可以面向 .NET Core 或 .NET Framework。面向 .NET Framework 的 ASP.NET Core 應用無法跨平臺,它們僅在 Windows 上執行。通常,ASP.NET Core由 .NET Standard 庫組成。與 .NET Standard 2.0 相容的 .NET Framework 版本建議使用4.7.1。在未來ASP.NET Core 3.0及以上只能在 .NET Core 中執行。

 

  1.1 ASP.NET Core 具有如下優點:

    (1)生成 Web UI 和 Web API 的統一場景。

    (2)針對可測試性進行構建。

    (3)Razor Pages可以使基於頁面的編碼方式更簡單高效。

    (4)能夠在 Windows、macOS 和 Linux 上進行開發和執行。

    (5)開放原始碼和以社群為中心。

    (6)整合新式客戶端框架和開發工作流。

    (7)基於環境的雲就緒配置系統。

    (8)內建依賴項注入。

    (9)輕型的高效能模組化 HTTP 請求管道。

    (10)能夠在IIS、Nginx、Apache、Docker 上進行託管或在自己的程序中進行自託管。

    (11)目標到NET Core 時,可以使用並行應用版本控制。

    (12)簡化新式 Web 開發的工具。

 

  1.2 使用 ASP.NET Core MVC 生成 Web API 和 Web UI所需的功能:

    Model-View-Controller (MVC) 模式使 Web API 和 Web 應用可測試。

    Razor Pages是基於頁面的程式設計模型,它讓 Web UI 的生成更加簡單高效。

    Razor 標記提供了適用於 Razor 頁面和 MVC 檢視的高效語法。

    標記幫助程式使伺服器端程式碼可以在 Razor 檔案中參與建立和呈現 HTML 元素。

    內建的多資料格式和內容協商支援使 Web API 可訪問多種客戶端,包括瀏覽器和移動裝置。

    模型繫結自動將 HTTP 請求中的資料對映到操作方法引數。

    模型驗證自動執行客戶端和伺服器端驗證。

 

  1.3 NET Core與 .NET Framework 比較

    .NET Core與 .NET Framework 相比優勢包括: 跨平臺、提高效能、並行版本控制、新API、開源。目前NET Framework 還不會被 .NET Core 代替。Core會試圖縮小二者在實現上的差距,下表將 ASP.NET Core 與 ASP.NET 4.x 進行比較:

ASP.NET Core ASP.NET 4.x
針對 Windows、macOS 或 Linux 進行生成 針對 Windows 進行生成
Razor 頁面是在 ASP.NET Core 2.x 及更高版本中建立 Web UI 時建議使用的方法 使用 Web 窗體、SignalR、MVC、Web API、WebHooks 或網頁
每個計算機多個版本 每個計算機一個版本
比 ASP.NET 4.x 效能更高 良好的效能
選擇 .NET Framework 或 .NET Core 執行時 使用 .NET Framework 執行時

 

  1.4 運用場景

    (1) 在什麼情況下要求使用 .NET Core包括: 使用者有跨平臺需求、使用者正在面向微服務、使用者正在使用 Docker 容器、需要高效能和可擴充套件的系統、需按應用程式提供並行的 .NET 版本。

    (2) 在什麼情況下使用.NET Framework包括: 當前使用 .NET Framework(建議擴充套件而不是遷移)、不可用於 .NET Core 的第三方 .NET 庫或 NuGet 包、不可用於 .NET Core 的 .NET 技術、不支援 .NET Core 的平臺。

     不可用於 .NET Core的.NET技術包括:不能用於 ASP.NET Web 窗體、WCF 服務的實現(將來會考慮在Core上實現)、工作流相關的服務。