Delen via


Wanneer moet u .NET Framework voor Docker-containers kiezen

Tip

Deze inhoud is een fragment uit het eBook, .NET Microservices Architecture for Containerized .NET Applications, beschikbaar op .NET Docs of als een gratis downloadbare PDF die offline kan worden gelezen.

.NET Microservices Architecture for Containerized .NET Applications eBook cover thumbnail.

Hoewel .NET 8 aanzienlijke voordelen biedt voor nieuwe toepassingen en toepassingspatronen, blijft .NET Framework een goede keuze voor veel bestaande scenario's.

Bestaande toepassingen rechtstreeks migreren naar een Windows Server-container

U kunt Docker-containers gebruiken om de implementatie te vereenvoudigen, zelfs als u geen microservices maakt. Misschien wilt u uw DevOps-werkstroom verbeteren met Docker. Containers kunnen u betere geïsoleerde testomgevingen bieden en ook implementatieproblemen voorkomen die worden veroorzaakt door ontbrekende afhankelijkheden wanneer u naar een productieomgeving overstapt. In dergelijke gevallen, zelfs als u een monolithische toepassing implementeert, is het zinvol docker en Windows-containers te gebruiken voor uw huidige .NET Framework-toepassingen.

In de meeste gevallen voor dit scenario hoeft u uw bestaande toepassingen niet te migreren naar .NET 8; u kunt Docker-containers gebruiken die het traditionele .NET Framework bevatten. Een aanbevolen benadering is echter om .NET 8 te gebruiken wanneer u een bestaande toepassing uitbreidt, zoals het schrijven van een nieuwe service in ASP.NET Core.

.NET-bibliotheken of NuGet-pakketten van derden gebruiken die niet beschikbaar zijn voor .NET 8

Bibliotheken van derden gebruiken snel .NET Standard, waarmee code kan worden gedeeld in alle .NET-smaken, waaronder .NET 8. Met .NET Standard 2.0 en hoger is de compatibiliteit van de API-oppervlakte in verschillende frameworks aanzienlijk groter geworden. Bovendien kunnen .NET Core 2.x en nieuwere toepassingen ook rechtstreeks verwijzen naar bestaande .NET Framework-bibliotheken (zie .NET Framework 4.6.1 die .NET Standard 2.0 ondersteunen).

Daarnaast breidt het Windows-compatibiliteitspakket het API-oppervlak uit dat beschikbaar is voor .NET Standard 2.0 in Windows. Met dit pakket kunt u de meeste bestaande code opnieuw compileren naar .NET Standard 2.x met weinig of geen wijzigingen, om uit te voeren in Windows.

Maar zelfs met die uitzonderlijke voortgang sinds .NET Standard 2.0 en .NET Core 2.1 of hoger, kunnen er gevallen zijn waarin bepaalde NuGet-pakketten Windows moeten uitvoeren en mogelijk geen ondersteuning bieden voor .NET Core of hoger. Als deze pakketten essentieel zijn voor uw toepassing, moet u .NET Framework in Windows Containers gebruiken.

.NET-technologieën gebruiken die niet beschikbaar zijn voor .NET 8

Sommige .NET Framework-technologieën zijn niet beschikbaar in .NET 8. Sommige hiervan zijn mogelijk beschikbaar in latere releases, maar andere passen niet in de nieuwe toepassingspatronen waarop .NET Core is gericht en zijn mogelijk nooit beschikbaar.

In de volgende lijst ziet u de meeste technologieën die niet beschikbaar zijn in .NET 8:

  • ASP.NET webformulieren. Deze technologie is alleen beschikbaar op .NET Framework. Er zijn momenteel geen plannen om ASP.NET Web Forms naar .NET of hoger te brengen.

  • Werkstroomgerelateerde services. Windows Workflow Foundation (WF), Workflow Services (WCF + WF in één service) en WCF Data Services (voorheen bekend als ADO.NET Data Services) zijn alleen beschikbaar op .NET Framework. Er zijn momenteel geen plannen om ze naar .NET 8 te brengen.

Naast de technologieën die worden vermeld in de officiële .NET-roadmap, kunnen andere functies worden overgezet naar het nieuwe geïntegreerde .NET-platform. U kunt overwegen deel te nemen aan de discussies op GitHub, zodat uw stem kan worden gehoord. Als u denkt dat er iets ontbreekt, moet u een nieuw probleem indienen in de GitHub-opslagplaats dotnet/runtime .

Een platform of API gebruiken die geen ondersteuning biedt voor .NET 8

Sommige Platforms van Microsoft en derden bieden geen ondersteuning voor .NET 8. Sommige Azure-services bieden bijvoorbeeld een SDK die nog niet beschikbaar is voor verbruik op .NET 8. De meeste Azure SDK moet uiteindelijk worden overgezet naar .NET 8/.NET Standard, maar sommige kunnen om verschillende redenen niet worden overgezet. U kunt de beschikbare Azure SDK's zien op de pagina Meest recente releases van De Azure SDK.

Als een platform of service in Azure ondertussen nog steeds geen ondersteuning biedt voor .NET 8 met de client-API, kunt u de equivalente REST API van de Azure-service of de client-SDK op .NET Framework gebruiken.

Bestaande ASP.NET-toepassing overzetten naar .NET 8

.NET Core is een revolutionaire stap voorwaarts van .NET Framework. Het biedt een groot aantal voordelen ten opzichte van .NET Framework over de hele linie, van productiviteit tot prestaties, en van platformoverschrijdende ondersteuning tot tevredenheid van ontwikkelaars.

Aanvullende bronnen