.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
- Válasszon a ASP.NET és a ASP.NET Core között
- ASP.NET Core célzási .NET-keretrendszer
- Cél-keretrendszerek
- A .NET bemutatása
- Portolás a .NET-keretrendszer-ről a .NET 5-be
- A .NET és a Docker bemutatása
- .NET-implementációk
- .NET Mikroszolgáltatások. Architecture for Containerized .NET Applications (.NET-mikroszolgáltatások: Tárolóalapú .NET-alkalmazások architektúrája)
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: