.NET Core 簡介

来源:https://www.cnblogs.com/fer-team/p/18097204
-Advertisement-
Play Games

前言 相信很多做WPF開發的小伙伴都遇到過表格類的需求,雖然現有的Grid控制項也能實現,但是使用起來的體驗感並不好,比如要實現一個Excel中的表格效果,估計你能想到的第一個方法就是套Border控制項,用這種方法你需要控制每個Border的邊框,並且在一堆Bordr中找到Grid.Row,Grid. ...


     微軟於2016年推出了新一代的開發平臺,並且將其命名為.NET Core。相較於舊的.NET Framework。

.NET Core有如下優點:

   1).NET Core採用模塊化開發。不再像.NET Framework那樣需要安裝整個安裝包。.NET Core核心只包含很少的文件,所有其他模塊都需要單獨安裝。根據需要引用各自不動的版本和包。

(2).NET Core支持獨立部署,也就是說,可以把.NET Core運行時環境和開發的程式打包到一起部署。這樣就不需要在伺服器上安裝.NET Core運行環境,只要把程式複製到伺服器上,程式就能運行,這對容器化、無伺服器(Serverless)等非常友好。

(3)程式的運行效率更高。.NET Core的所有管道都是可以插拔的,我們可以決定程式需要哪些管道及它們的執行順序,因此用.NET Core開發出來的程式運行效率更高。

(4)ASP.NET Core程式內置了簡單且高效的Web伺服器—Kestrel。Kestrel被嵌入ASP.NET Core程式中運行,因此整個ASP.NET Core程式其實就是一個控制台程式。Kestrel可被配置上安全、HTTPS、限流、壓縮、緩存等功能,從而成為直接面向終端用戶的Web伺服器,這樣網站運行不依賴於IIS;也可以將其配置成輕量級的Web伺服器,而安全、HTTPS、限流、壓縮、緩存等功能則由部署在它前面的IIS、Nginx等反向代理伺服器完成。

微軟為什麼拋棄舊的.NET Framework,而重新開發新的平臺呢?

 .NET Framework是2002年由微軟推出的開發平臺,那時候還沒有雲服務平臺、容器、微服務等概念,也就不能在平臺中考慮這些因素,因此我們基於.NET Framework進行新項目的開發無法滿足功能需求。

.NET Standard介紹

   .NET Standard規定了一系列需要被所有.NET Core、.NET Framework及Xamarin等共同實現的API,包括有哪些類、有哪些方法、參數和返回值是什麼等。需要說明的是,.NET Standard只是一個規範,不是一個框架。不要以為.NET Standard是一個被.NET Framework、.NET Core、Xamarin等共用的基礎庫,.NET Standard只是規定了需要被實現的規範,但是不負責具體實現。對於.NET Standard類型的類庫項目,當我們分別在.NET Core項目和.NET Framework項目中引用這個類庫的時候,就可以看到它們執行時的差別。

.NET Standard隨著.NET技術的升級而升級,不同版本的.NET Core、.NET Framework等支持不同版本的.NET Standard,越高版本的.NET Core、.NET Framework等支持的.NET Standard版本越高。如下圖所示

 如果一個類庫遵守一個版本的.NET Standard規範,那麼不低於對應這個版本的.NET Core、.NET Framework的項目都可以使用這個類庫。比如一個類庫遵守.NET Standard 2.0規範,那麼不低於.NET Core 2.0或者不低於.NET Framework 4.6.1的項目就都可以使用這個類庫。如果我們要編寫一個給公眾使用的類庫,為了讓.NET Core、.NET Framework、Xamarin等開發人員都能使用這個類庫,這個類庫就應該是.NET Standard類庫,並且.NET Standard的版本應儘可能低一些,這樣低版本的.NET Core、.NET Framework、Xamarin的項目也能使用這個類庫。

 總而言之,.NET Standard是一個.NET平臺下的規範,使得我們開發的類庫可以被.NET Framework、.NET Core、Xamarin等使用,提高了代碼的復用性。.NET Standard已經完成了它的歷史使命。從.NET 5開始,微軟將不再更新.NET Standard,而是會把.NET 5、.NET 6等視為單一的代碼庫,並會通過編譯期和運行時的檢查來解決不同平臺下它們所支持的功能具有差異這一問題。

作者:小羽信息 出處:http://www.cnblogs.com/fer-team/ 本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在使用Django等框架來操作MySQL時,實際上底層還是通過Python來操作的,首先需要安裝一個驅動程式,在Python3中,驅動程式有多種選擇,比如有pymysql以及mysqlclient等。使用pip命令安裝mysqlclient失敗應如何解決? 安裝的python版本說明 機器同時安裝了 ...
  • Csharper中的表達式樹 這節課來瞭解一下表示式樹是什麼? 在C#中,表達式樹是一種數據結構,它可以表示一些代碼塊,如Lambda表達式或查詢表達式。表達式樹使你能夠查看和操作數據,就像你可以查看和操作代碼一樣。它們通常用於創建動態查詢和解析表達式。 一、認識表達式樹 為什麼要這樣說?它和委托有 ...
  • 一、前言 這是一篇搭建許可權管理系統的系列文章。 隨著網路的發展,信息安全對應任何企業來說都越發的重要,而本系列文章將和大家一起一步一步搭建一個全新的許可權管理系統。 說明:由於搭建一個全新的項目過於繁瑣,所有作者將挑選核心代碼和核心思路進行分享。 二、技術選擇 三、開始設計 1、自主搭建vue前端和. ...
  • 在實際使用中,由於涉及到不同編程語言之間互相調用,導致C++ 中的OpenCV與C#中的OpenCvSharp 圖像數據在不同編程語言之間難以有效傳遞。在本文中我們將結合OpenCvSharp源碼實現原理,探究兩種數據之間的通信方式。 ...
  • 在 WPF 應用程式中,拖放操作是實現用戶交互的重要組成部分。通過拖放操作,用戶可以輕鬆地將數據從一個位置移動到另一個位置,或者將控制項從一個容器移動到另一個容器。然而,WPF 中預設的拖放操作可能並不是那麼好用。為瞭解決這個問題,我們可以自定義一個 Panel 來實現更簡單的拖拽操作。 自定義 Pa ...
  • 前言 .NET Feature Management 是一個用於管理應用程式功能的庫,它可以幫助開發人員在應用程式中輕鬆地添加、移除和管理功能。使用 Feature Management,開發人員可以根據不同用戶、環境或其他條件來動態地控制應用程式中的功能。這使得開發人員可以更靈活地管理應用程式的功 ...
  • 在分散式系統中,數據的持久化是至關重要的一環。 Orleans 7 引入了強大的持久化功能,使得在分散式環境下管理數據變得更加輕鬆和可靠。 本文將介紹什麼是 Orleans 7 的持久化,如何設置它以及相應的代碼示例。 什麼是 Orleans 7 的持久化? Orleans 7 的持久化是指將 Or ...
  • .NET C#程式啟動閃退,目錄導致的問題 這是第2次踩這個坑了,很小的編程細節,容易忽略,所以寫個博客,分享給大家。 1.第一次坑:是windows 系統把程式運行成服務,找不到配置文件,原因是以服務運行它的工作目錄是在C:\Windows\System32 2.本次坑:WPF桌面程式通過註冊表設 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...