【ASP.NET Core MVC 入門須知】Net Core和Net Framework 的區別

 

 

 一、簡單介紹html

 

從上面圖中咱們能夠看到.net  主要分爲三個部分 .net FrameWork,.net Core ,Xamarinlinux

  • XAMARIN  主要用來構建APP的主要用的是C#語言
  • .NET Framework  這個是咱們如今常常用的,用這個能夠建立windows應用程序還有web applications ,
  •                              如今你能夠用它建立Winform ,UWP ,wpf 等相關的應用程序 ,web 方面就是Asp.net MVC webfrom,2002年發佈
  • .NET Core   是微軟推出的最新的開源的,跨平臺的框架,用它能夠建立的應用能夠運行在MAC,Linux上 ,2016年6月27日

 

 

二、對比叫介紹,差別nginx

微軟爸爸介紹:https://docs.microsoft.com/zh-cn/aspnet/core/?view=aspnetcore-2.2git

 

NET Core和.net framwork 各有優缺點,二者都不能取代對方,一下摘取自微軟文檔github

ASP.NET Core 具備以下優勢:web

  • 生成 Web UI 和 Web API 的統一場景。
  • 針對可測試性進行構建。
  • Razor Pages 可使基於頁面的編碼方式更簡單高效。
  • 可以在 Windows、macOS 和 Linux 上進行開發和運行。
  • 開放源代碼和以社區爲中心
  • 集成新式客戶端框架和開發工做流。
  • 基於環境的雲就緒配置系統
  • 內置依賴項注入
  • 輕型的高性能模塊化 HTTP 請求管道。
  • 可以在 IISNginxApacheDocker 上進行託管或在本身的進程中進行自託管。
  • 定目標到 .NET Core 時,可使用並行應用版本控制。
  • 簡化新式 Web 開發的工具。 

面向 .NET Framework 的 ASP.NET Core

ASP.NET Core 2.x 能夠面向 .NET Core 或 .NET Framework。 面向 .NET Framework 的 ASP.NET Core 應用沒法跨平臺,它們僅在 Windows 上運行。 一般,ASP.NET Core 2.x 由 .NET Standard 庫組成。 使用 .NET Standard 2.0 編寫的應用可在 NET Standard 2.0 支持的任何位置運行。docker

 

與 .NET Standard 2.0 兼容的 .NET Framework 版本支持 ASP.NET Core 2.x:apache

  • 強烈建議使用 .NET Framework 4.7.1 及更高版本。
  • .NET Framework 4.6.1 及更高版本。

ASP.NET Core 3.0 以及更高版本只能在 .NET Core 中運行。 有關此更改的詳細信息,請參閱 A first look at changes coming in ASP.NET Core 3.0(搶先了解 ASP.NET Core 3.0 即將推出的更改)。windows

 

面向 .NET Core 有如下幾個優點,而且這些優點會隨着每次發佈增長。 與 .NET Framework 相比,.NET Core 的部分優點包括:服務器

  • 跨平臺。 在 macOS、Linux 和 Windows 上運行。
  • 加強的性能
  • 並行版本控制
  • 新 API
  • 開源 

咱們正努力縮小 .NET Framework 與 .NET Core 的 API 差距。 Windows 兼容性包使數千個僅可在Windows運行的API 可在 .NET Core 中使用。 這些 API 在 .NET Core 1.x 中不可用。

 在如下狀況,對服務器應用程序使用 .NET Core:

 

  • 用戶有跨平臺需求。
  • 用戶正在面向微服務。
  • 用戶正在使用 Docker 容器。
  • 須要高性能和可擴展的系統。
  • 需按應用程序提供並行的 .NET 版本。

 

在如下狀況,對服務器應用程序使用 .NET Framework :

 

  • 應用當前使用 .NET Framework(建議擴展而不是遷移)。
  • 應用使用不可用於 .NET Core 的第三方 .NET 庫或 NuGet 包。
  • 應用使用不可用於 .NET Core 的 .NET 技術。
  • 應用使用不支持 .NET Core 的平臺。

 

最大的區別就是Net Core和Net Framework 再部署IIS是不一樣的,

Net Framework 選擇對應的應用程序版本

Net Core不須要選擇,而且必須發佈以後才能夠。

【1】、必須設置 模塊

反正你看不到 AspNetCoreModule 這個玩意的話, 運行確定就是有問題的。

 

 

 

 【2】必須選擇託管,Net Core不須要Net Framework

應用程序池必須配置爲「無託管代碼」

 

【3】發佈、部署

 

 

 

 

 

 

 

 

 

容器化將來是一種趨勢,選擇跨平臺的。net core是一種趨勢,如今能夠入坑了。不過大神,此段話爲本身備註打氣,萌新不敢大聲說話。

 

 

三、性能比較

 

性能作夠了,處理能來同步更好更強

 

https://www.techempower.com/benchmarks/#section=data-r17&hw=ph&test=db

 

四、總結

 

一、跨平臺用.net core 不想升級用.net framwork 

二、能用就行,畢竟如今還有大部分用 .net framwork 2.0的

 

 

相關文章:

 

【參考】簡析.NET Core 以及與 .NET Framework的關係http://www.cnblogs.com/vipyoumay/p/5603928.html

【推薦】How to Deploy ASP.NET Core to IIS & How ASP.NET Core Hosting Works:https://stackify.com/how-to-deploy-asp-net-core-to-iis/

【推薦】ASP.NET Core Web API – IIS Deployment:https://code-maze.com/net-core-web-development-part16/

 

以上內容有任何錯誤或不許確的地方請你們指正,不喜勿噴!

本文版權歸做者和博客園共有,歡迎轉載。

但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,不然保留追究法律責任的權利。

但願可以持續的爲你們帶來好的技術文章!想跟我一塊兒進步麼?那就【關注】我吧。

相關文章
相關標籤/搜索