国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

  • <rt id="0zjyf"><optgroup id="0zjyf"></optgroup></rt>
    <bdo id="0zjyf"><meter id="0zjyf"><bdo id="0zjyf"></bdo></meter></bdo>
    <li id="0zjyf"></li>

    <center id="0zjyf"></center>
    <rt id="0zjyf"></rt>
    <rt id="0zjyf"><small id="0zjyf"></small></rt>

    為服務器應用選擇 .NET Core 或 .NET Framework

    2019-04-17 08:56 更新

    有兩種支持的實現(xiàn)可用于通過 NET Framework 和 .NET Core 生成服務器端應用程序。 這兩者共享許多相同的組件,可在它們之間共享代碼。 但兩者之間存在根本的差異,可根據(jù)需要實現(xiàn)的目標進行選擇。 本文介紹了在何種情況下進行選擇。

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

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

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

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

    選擇 .NET Core 的情形

    以下各部分對前面提到的選擇 .NET Core 的原因進行了進一步說明。

    跨平臺需求

    如果應用程序(Web/服務)需要在多個平臺(Windows、Linux 和 macOS)上運行,請使用 .NET Core。

    .NET Core 作為開發(fā)工作站支持前面提到的操作系統(tǒng)。 Visual Studio 提供了適用于 Windows 和 macOS 的集成開發(fā)環(huán)境 (IDE)。 還可使用運行于 macOS、Linux 和 Windows 上的 Visual Studio Code。 Visual Studio Code 支持 .NET Core,包括 IntelliSense 和調(diào)試。 大多數(shù)第三方編輯器(如 Sublime、Emacs 和 VI)都可搭配 .NET Core 使用。 這些第三方編輯器可使用 Omnisharp 獲取編輯器 IntelliSense。 也可不使用任何代碼編輯器,直接使用適用于所有支持平臺的 .NET Core CLI 工具。

    微服務體系結構

    微服務體系結構允許跨服務邊界組合使用技術。 通過這種技術組合,可逐步接受 .NET Core 作為能與其他微服務或服務搭配使用的新微服務。 例如,可組合使用微服務或使用 .NET Framework、Java、Ruby 或其他單片技術開發(fā)的服務。

    可用的基礎結構平臺有很多。 Azure Service Fabric,設計用于大型和復雜微服務系統(tǒng) 。 Azure App Service,很適合用于無狀態(tài)微服務。 基于 Docker 的微服務備選方案適合任何一種微服務方法,這部分內(nèi)容將在容器部分進行說明。 所有這些平臺都支持 .NET Core,是托管微服務的理想選擇。

    有關微服務體系結構的詳細信息,請參閱 .NET 微服務 - 適用于容器化 .NET 應用程序的體系結構。

    容器

    容器通常與微服務體系結構結合使用。 還可使用容器將遵循任何體系結構模式的 Web 應用或服務容器化。 可在 Windows 容器上使用 .NET Framework,但 .NET Core 的模塊化和輕型性質(zhì)使之成為容器的更佳選擇。 在創(chuàng)建和部署容器時,使用 .NET Core 時容器的映像大小要遠小于使用 .NET Framework 時的大小。 例如,因為它是跨平臺的,所以可將服務器應用部署到 Linux Docker 容器。

    Docker 容器可托管在自己的 Linux 或 Windows 基礎結構中,或托管在 Azure Kubernetes 服務等云服務中。 Azure Kubernetes 服務可管理、協(xié)調(diào)和縮放云中基于容器的應用程序。

    高性能和可擴展系統(tǒng)的需求

    如果系統(tǒng)需要最佳的性能和可伸縮性,.NET Core 和 ASP.NET Core 是最佳的選擇。 Windows Server 和 Linux 的高性能服務器運行時使 .NET 成為 TechEmpower 基準上執(zhí)行最佳的 Web 框架。

    性能和可伸縮性對微服務體系結構尤為重要,體系結構中可能正在運行數(shù)百個微服務。 借助 ASP.NET Core,系統(tǒng)運行的服務器/虛擬機 (VM) 數(shù)要低得多。 減少服務器/VM 后可節(jié)省基礎結構和托管成本。

    需要按應用程序級別選擇并行的 .NET 版本

    若要安裝含不同 .NET 版本上的依賴項的應用程序,建議使用 NET Core。 通過 .NET Core 可在同一計算機上并行安裝不同版本的 .NET Core 運行時。 并行安裝允許在同一服務器上使用多個服務,每個服務位于其相應的 .NET Core 版本上。 這還可在應用程序升級和 IT 運營時降低風險、節(jié)省成本。

    選擇 .NET Framework 的情形

    .NET Core 對新應用程序和應用程序模式特別有用。 但是在很多現(xiàn)有方案中依然會自然而然地選擇 .NET Framework,并且對于所有服務器應用程序,.NET Framework 不會被 .NET Core 代替。

    現(xiàn)有的 .NET Framework 應用程序

    在大多數(shù)情況下,不需要將現(xiàn)有應用程序遷移到 .NET Core。 相反,若要擴展現(xiàn)有的應用程序(例如,在 ASP.NET Core 中寫入新的 Web 服務),建議使用 .NET Core。

    需要使用不可用于 .NET Core 的第三方 .NET 庫或 NuGet 包

    庫很快將使用 .NET Standard。 通過 .NET Standard 可跨各種 .NET 實現(xiàn)(包括 .NET Core)共享代碼。 使用 .NET Standard 2.0 則更簡單:

    • API 曲面已變?yōu)楦蟆?/li>
    • 引入了 .NET Framework 兼容性模式。 此兼容性模式允許 .NET Standard/.NET Core 項目引用.NET Framework 庫。 若要詳細了解兼容性模式,請參閱 Announcing .NET Standard 2.0(宣布發(fā)布 .NET Standard 2.0)。

    因此,只有在庫或 NuGet 包使用的技術在 .NET Standard/.NET Core 中不可用的情況下,才需要使用 .NET Framework。

    需要使用不可用于 .NET Core 的 .NET 技術

    某些 .NET Framework 技術在 .NET Core 中不可用。 其中一些技術可能在更高版本的 .NET Core 中可用。 但其他技術不會應用于 .NET Core 面向的新應用程序模式,因此可能永遠不可用。 以下列表顯示無法在 .NET Core 中找到的最常見技術:

    • ASP.NET Web 窗體應用程序:ASP.NET Web 窗體僅在.NET Framework 中可用。 ASP.NET Core 不能用于 ASP.NET Web 窗體。 目前沒有將 ASP.NET Web 窗體引入 .NET Core 的計劃。
    • ASP.NET 網(wǎng)頁應用程序:ASP.NET 網(wǎng)頁未包含在 ASP.NET Core 中。
    • WCF 服務的實現(xiàn)。 雖然 WCF 客戶端庫可從 .NET Core 使用 WCF 服務,WCF 服務器實現(xiàn)目前只在 .NET Framework 上可用。 這種情況雖然不屬于 .NET Core 當前計劃,但將來會考慮這點。
    • 工作流相關的服務:Windows Workflow Foundation (WF)、工作流服務(WCF + 單個服務中的 WF)和 WCF 數(shù)據(jù)服務(以前稱為“ADO.NET 數(shù)據(jù)服務”)僅在 .NET Framework 上可用。 尚未計劃將 WF/WCF+WF/WCF Data Services 引入 .NET Core。
    • 語言支持:.NET Core 目前支持 Visual Basic 和 F#,但不是所有項目類型都支持。 有關支持的項目模板列表,請參閱 dotnet new 的模板選項。

    除了正式的路線圖,還有其他框架將植入 .NET Core。 若要查看完整列表,請參閱標記為 port-to-core 的 CoreFX 問題。 此列表并不代表 Microsoft 承諾將這些組件引入 .NET Core。 這樣做只是因為他們捕獲到了社區(qū)所需。 如果關注任何標記為 port-to-core 的組件,請在 GitHub 上參與討論。 如果認為遺漏了某些內(nèi)容,請在 CoreFX 存儲庫中提出新的問題。

    需要使用不支持 .NET Core 的平臺

    某些 Microsoft 或第三方平臺不支持 .NET Core。 某些 Azure 服務提供尚不可用于 .NET Core 的 SDK。 這只是過渡情況,因為所有 Azure 服務都將使用 .NET Core。 在此期間,可用始終使用等效的 REST API 取代客戶端 SDK。

    請參閱


    以上內(nèi)容是否對您有幫助:
    在線筆記
    App下載
    App下載

    掃描二維碼

    下載編程獅App

    公眾號
    微信公眾號

    編程獅公眾號