Share via


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

A kiszolgálóoldali alkalmazások készítéséhez két támogatott .NET-implementáció létezik.

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

Mindkét összetevő számos összetevőt tartalmaz, és a kódot a kettő között is megoszthatja. Vannak azonban alapvető különbségek a kettő között, és a választás attól függ, hogy mit szeretne elérni. Ez a cikk útmutatást nyújt az egyes eszközök használatának időpontjáról.

A .NET használata a kiszolgálóalkalmazáshoz a következő esetekben:

  • Platformfüggetlen igényei vannak.
  • Mikroszolgáltatásokat céloz meg.
  • Docker-tárolókat használ.
  • Nagy teljesítményű és méretezhető rendszerekre van szüksége.
  • Alkalmazásonként egymás mellett .NET-verziókra van szükség.

A kiszolgálóalkalmazáshoz a következő esetekben használja a .NET-keretrendszer:

  • Az alkalmazás jelenleg .NET-keretrendszer használ (a migrálás helyett a bővítést javasoljuk).
  • Az alkalmazás külső kódtárakat vagy a .NET-hez nem elérhető NuGet-csomagokat használ.
  • Az alkalmazás olyan .NET-keretrendszer technológiákat használ, amelyek nem érhetők el a .NET-hez.
  • Az alkalmazás olyan platformot használ, amely nem támogatja a .NET-et.

Mikor válassza a .NET-et?

Az alábbi szakaszok részletesebben ismertetik a .NET .NET-keretrendszer való kiválasztásának korábban ismertetett okait.

Platformfüggetlen igények

Ha a web- vagy szolgáltatásalkalmazásnak több platformon , például Windowson, Linuxon és macOS-en kell futnia, használja a .NET-et.

A .NET a fejlesztési munkaállomásként támogatja a korábban említett operációs rendszereket. A Visual Studio integrált fejlesztési környezetet (IDE) biztosít Windows és macOS rendszerekhez. Használhatja a MacOS, Linux és Windows rendszeren futó Visual Studio Code-ot is. A Visual Studio Code támogatja a .NET-et, beleértve 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 szerkesztőt kapják meg az Omnisharp használatával. A kódszerkesztőt is elkerülheti, és közvetlenül használhatja a .NET CLI-t, amely minden támogatott platformon elérhető.

Mikroszolgáltatások architektúrája

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, ahogyan azt a Tárolók szakaszban ismertetik . 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 Mikroszolgáltatások című témakörben talál . Tárolóalapú .NET-alkalmazások architektúrája.

Tárolók

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. .NET-keretrendszer Windows-tárolókon használható. A .NET modularitása és könnyűsége azonban jobb választás a tárolók számára. Tároló létrehozásakor és telepítésekor a rendszerkép mérete sokkal kisebb a .NET-ben, mint a .NET-keretrendszer. Mivel platformfüggetlen, kiszolgálóalkalmazásokat helyezhet üzembe Linux Docker-tárolókban.

A Docker-tárolók üzemeltethetők saját Linux- vagy Windows-infrastruktúrában, vagy egy felhőszolgáltatásban, például az Azure Kubernetes Service-ben. 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ő rendszerek

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/virtuális géppel futnak. A csökkentett kiszolgálók/virtuális gépek költségeket takaríthatnak meg az infrastruktúrán és az üzemeltetésen.

Egymás melletti .NET-verziók alkalmazásszintenként

A .NET különböző verzióihoz függőséggel rendelkező alkalmazások telepítéséhez a .NET használatát javasoljuk. Ez az 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. A párhuzamos telepítés több szolgáltatást is lehetővé tesz ugyanazon a kiszolgálón, mindegyik a .NET saját verziójában. 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.

Mikor válassza ki a .NET-keretrendszer

A .NET jelentős előnyöket kínál az új alkalmazások és alkalmazásminták számára. A .NET-keretrendszer azonban továbbra is természetes választás számos meglévő forgatókönyv esetében, így .NET-keretrendszer nem minden kiszolgálóalkalmazás esetében a .NET váltja fel.

Aktuális .NET-keretrendszer alkalmazások

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

Külső kódtárak vagy NuGet-csomagok 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 Core/5+-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.

A .NET-keretrendszer csak olyan esetekben kell használnia, amikor 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.

.NET-keretrendszer technológiák 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# jelenleg támogatott a .NET-ben, 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.

A platform 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