Megosztás a következőn keresztül:


.NET és .NET-keretrendszer kiszolgálóalkalmazásokhoz

A kiszolgálóoldali alkalmazások létrehozásához két támogatott .NET-implementáció létezik: .NET és .NET-keretrendszer. A .NET legújabb verziója (jelenleg .NET 9) a kiszolgálófejlesztéshez használni kívánt .NET-verzió. A .NET-keretrendszer használatának további okai konkrétak és korlátozottak.

Megvalósítás Belefoglalt verziók
.HÁLÓ .NET Core 1.0 – 3.1
.NET 5 és újabb verziók
.NET-keretrendszer .NET-keretrendszer 1.0 – 4.8

A .NET kiválasztása

A .NET a következő előnyökkel jár a kiszolgálóalkalmazások számára:

  • Platformfüggetlen.

    A .NET lehetővé teszi a web- vagy szolgáltatásalkalmazás futtatását több platformon, például Windows, Linux és macOS rendszeren. Ezen operációs rendszerek bármelyikét használhatja fejlesztési munkaállomásként. Használja a Visual Studio integrált fejlesztői környezetét (IDE) Windows rendszeren, vagy használja a Visual Studio Code-ot macOS, Linux vagy Windows rendszeren. A Visual Studio Code támogatja az IntelliSense-t és a hibakeresést. A legtöbb külső szerkesztő, például a Sublime, az Emacs és a VI, a .NET-tel dolgozik. Ezek a külső szerkesztők az IntelliSense-t az Omnisharp révén kapják. A kódszerkesztőt is kihagyhatja, és közvetlenül használhatja a .NET parancssori felületet.

  • Lehetővé teszi a mikroszolgáltatások célzott megcélzását.

    A mikroszolgáltatás-architektúra lehetővé teszi a technológiák kombinációját egy szolgáltatáshatáron keresztül. Ez a technológiai mix lehetővé teszi a .NET fokozatos használatát olyan új mikroszolgáltatásokhoz, amelyek más mikroszolgáltatásokkal vagy szolgáltatásokkal működnek együtt. Keverheti például a .NET-keretrendszer, Java, Ruby vagy más monolitikus technológiákkal fejlesztett mikroszolgáltatásokat vagy szolgáltatásokat.

    Számos infrastruktúraplatform érhető el. Az Azure Service Fabric nagy és összetett mikroszolgáltatási rendszerekhez készült. Azure-alkalmazás szolgáltatás jó választás állapot nélküli mikroszolgáltatásokhoz. A Dockeren alapuló mikroszolgáltatások alternatívái bármilyen mikroszolgáltatás-megközelítéshez illeszkednek a következő szakaszban leírtak szerint (Támogatja a Docker-tárolókat). Mindezek a platformok támogatják a .NET-et, és ideálissá teszik őket a mikroszolgáltatások üzemeltetéséhez.

    A mikroszolgáltatások architektúrájáról további információt a .NET Microservices: Architecture for containerized .NET apps (Tárolóalapú .NET-alkalmazások architektúrája) című témakörben talál.

  • Támogatja a Docker-tárolókat.

    A tárolókat gyakran használják mikroszolgáltatás-architektúrában. A tárolók bármilyen architekturális mintát követő webalkalmazások vagy szolgáltatások tárolóba való tárolására is használhatók. Bár a .NET-keretrendszer Windows-tárolókon is használható, a .NET modularitása és egyszerűsége jobb választás a tárolók számára. Amikor egy konténert létrehoz és telepít, az image mérete sokkal kisebb a .NET esetében, mint a .NET-keretrendszerben. Mivel platformfüggetlen, kiszolgálóalkalmazásokat helyezhet üzembe Linux Docker-tárolókban.

    A Docker-tárolókat saját Linux- vagy Windows-infrastruktúrájában, illetve egy felhőszolgáltatásban, például az Azure Kubernetes Service-ben is üzemeltetheti. Az Azure Kubernetes Service tárolóalapú alkalmazásokat kezelhet, vezényelhet és méretezhet a felhőben.

  • Nagy teljesítményű és méretezhető.

    Ha a rendszernek a lehető legjobb teljesítményre és méretezhetőségre van szüksége, a .NET és a ASP.NET Core a legjobb választás. A Windows Serverhez és Linuxhoz készült nagy teljesítményű kiszolgálói futtatókörnyezet a ASP.NET Core-t a TechEmpower teljesítménymutatóinak legjobban teljesítő webes keretrendszeré teszi.

    A teljesítmény és a méretezhetőség különösen fontos a mikroszolgáltatás-architektúrák esetében, ahol több száz mikroszolgáltatás futhat. A ASP.NET Core használatával a rendszerek sokkal kevesebb kiszolgálóval vagy virtuális géppel futnak, ami az infrastruktúra és az üzemeltetés költségeit takarítja meg.

  • Alkalmazásonként támogatja az egymás melletti .NET-verziókat.

    A .NET-implementáció támogatja a .NET-futtatókörnyezet különböző verzióinak párhuzamos telepítését ugyanazon a gépen. Ez a képesség több szolgáltatást is lehetővé tesz ugyanazon a kiszolgálón, amelyek mindegyike a .NET saját verzióján található. Emellett csökkenti a kockázatokat, és pénzt takarít meg az alkalmazásfrissítésekben és az informatikai műveletekben.

    A .NET-keretrendszer nem lehet egymás mellett telepíteni. Ez egy Windows-összetevő, és egyszerre csak egy verzió létezhet egy gépen: a .NET-keretrendszer minden verziója lecseréli az előző verziót. Ha olyan új alkalmazást telepít, amely a .NET-keretrendszer egy későbbi verzióját célozza meg, megszakíthatja a gépen futó meglévő alkalmazásokat, mert az előző verziót lecserélték.

  • Biztonságosabb.

Mikor válassza ki a .NET-keretrendszer

Ahogy korábban említettük, a .NET-implementáció jelentős előnyökkel jár az új alkalmazások és alkalmazásminták számára. Bizonyos helyzetekben azonban előfordulhat, hogy .NET-keretrendszer kell használnia a kiszolgálóalkalmazásokhoz, és a .NET-keretrendszer továbbra is támogatott lesz. Használja a .NET-keretrendszer kiszolgálóalkalmazáshoz a következő esetekben:

  • Az alkalmazás jelenleg .NET-keretrendszer használ.

    A legtöbb esetben nem kell a meglévő alkalmazásokat a .NET-be migrálnia. Ehelyett a .NET használatát javasoljuk egy meglévő alkalmazás kiterjesztésekor, például új webszolgáltatás írása ASP.NET Core-ban.

  • Az alkalmazás olyan külső kódtárakat vagy NuGet-csomagokat használ, amelyek nem érhetők el a .NET-hez.

    A .NET Standard lehetővé teszi a kód megosztását az összes .NET-implementációban, beleértve a .NET 6+-ot is. A .NET Standard 2.0-val a kompatibilitási mód lehetővé teszi, hogy a .NET Standard és a .NET-projektek .NET-keretrendszer kódtárakra hivatkozzon. További információ: .NET-keretrendszer-kódtárak támogatása.

    Csak akkor használjon .NET-keretrendszer, ha a kódtárak vagy a NuGet-csomagok olyan technológiákat használnak, amelyek nem érhetők el a .NET Standardban vagy a .NET-ben.

  • Az alkalmazás olyan .NET-keretrendszer technológiákat használ, amelyek nem érhetők el a .NET-hez.

    Egyes .NET-keretrendszer technológiák nem érhetők el a .NET-ben. Az alábbi lista a .NET-ben nem található leggyakoribb technológiákat mutatja be:

    • ASP.NET Webes űrlapok alkalmazás: ASP.NET webes űrlapok csak .NET-keretrendszer érhetők el. ASP.NET Core nem használható ASP.NET webes űrlapokhoz.
    • ASP.NET weblapalkalmazások: ASP.NET weblapok nem szerepelnek a ASP.NET Core-ban.
    • A munkafolyamattal kapcsolatos szolgáltatások: a Windows Workflow Foundation (WF), a Workflow Services (WCF + WF egy szolgáltatásban) és a WCF Data Services (korábbi nevén "ADO.NET Data Services") csak .NET-keretrendszer érhető el.
    • Nyelvi támogatás: A Visual Basic és az F# a .NET-ben támogatott, de nem minden projekttípus esetében. A támogatott projektsablonok listáját az új dotnet sablonbeállításai között találja.

    További információ: .NET-keretrendszer .NET-ben nem elérhető technológiák.

  • Az alkalmazás olyan platformot használ, amely nem támogatja a .NET-et.

    Egyes Microsoft- vagy külső platformok nem támogatják a .NET-et. Egyes Azure-szolgáltatások olyan SDK-t biztosítanak, amely még nem érhető el a .NET-en való használatra. Ilyen esetekben az ügyfél SDK helyett használhatja az egyenértékű REST API-t.

Lásd még