gebeurtenis
Power BI DataViz World Championships
14 feb, 16 - 31 mrt, 16
Met 4 kansen om in te gaan, kun je een conferentiepakket winnen en het naar de LIVE Grand Finale in Las Vegas maken
Meer informatieDeze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
Het bijwerken van een app van ASP.NET Framework naar ASP.NET Core is niet triviaal voor de meeste productie-apps. Deze apps bevatten vaak nieuwe technologieën wanneer ze beschikbaar komen en bestaan vaak uit veel verouderde beslissingen. Dit artikel bevat richtlijnen en koppelingen naar hulpprogramma's voor het bijwerken van ASP.NET Framework-apps naar ASP.NET Core met zo weinig mogelijk wijzigingen.
Een van de grotere uitdagingen is het enorme gebruik van HttpContext in een codebasis. Zonder de incrementele benadering en hulpprogramma's is een grootschalig herschrijven vereist om de HttpContext afhankelijkheid te verwijderen. De adapters in dotnet-/systemweb-adapters bieden een set runtime-helpers voor toegang tot de typen die worden gebruikt in de ASP.NET Framework-app op een manier die werkt in ASP.NET Core met minimale wijzigingen.
Een volledige migratie kan veel moeite kosten, afhankelijk van de grootte van de app, afhankelijkheden en niet-draagbare API's die worden gebruikt. Als u een app wilt blijven inzetten in productie terwijl u updates uitvoert, is het beste patroon om te volgen het Strangler Fig-patroon. De Strangler Fig-patroon maakt continue ontwikkeling op het oude systeem mogelijk met een incrementele benadering om specifieke onderdelen van functionaliteit te vervangen door nieuwe services. In dit document wordt beschreven hoe u het patroon Strangler Fig toepast op een ASP.NET-app die wordt bijgewerkt naar ASP.NET Core.
Als u dit overzichtsartikel wilt overslaan en aan de slag wilt gaan, raadpleegt u Aan de slag.
Voordat de migratie wordt gestart, is de app gericht op ASP.NET Framework en wordt deze uitgevoerd in Windows met de bijbehorende ondersteunende bibliotheken:
start
Migratie begint met het introduceren van een nieuwe app op basis van ASP.NET Core dat het toegangspunt wordt. Binnenkomende aanvragen gaan naar de ASP.NET Core-app, die de aanvraag verwerkt of de aanvraag proxyt naar de .NET Framework-app via YARP-. In eerste instantie bevindt de meeste code die antwoorden biedt zich in de .NET Framework-app, maar de ASP.NET Core-app is nu ingesteld om routes te migreren:
Als u bedrijfslogica wilt migreren die afhankelijk is van HttpContext
, moeten de bibliotheken worden gebouwd met Microsoft.AspNetCore.SystemWebAdapters
. Het bouwen van de bibliotheken met SystemWebAdapters
maakt het volgende mogelijk:
Zodra de ASP.NET Core-app met YARP is ingesteld, kunt u beginnen met het bijwerken van routes van ASP.NET Framework naar ASP.NET Core. Bijvoorbeeld webAPI- of MVC-controlleractiemethoden, handlers of een andere implementatie van een route. Als de route beschikbaar is in de ASP.NET Core-app, wordt deze vergeleken en geleverd.
Tijdens het migratieproces worden aanvullende services en infrastructuur geïdentificeerd die moeten worden bijgewerkt om te worden uitgevoerd op .NET Core. Opties die worden vermeld in volgorde van onderhoud, zijn onder andere:
Uiteindelijk verwerkt de ASP.NET Core-app meer van de routes dan de .NET Framework-app:
Zodra de ASP.NET Framework-app niet meer nodig is en verwijderd:
De Visual Studio-extensie .NET Upgrade Assistant kan helpen bij het upgraden van ASP.NET Framework-web-apps naar ASP.NET Core. Zie het blogbericht Uw .NET-projecten upgraden met Visual Studiovoor meer informatie.
De Microsoft.AspNetCore.SystemWebAdapters
-naamruimte is een verzameling runtime-helpers die het gebruik van code die is geschreven op System.Web
mogelijk maken tijdens het overstappen naar ASP.NET Core. Er zijn enkele pakketten die kunnen worden gebruikt voor het gebruik van functies van deze adapters:
Microsoft.AspNetCore.SystemWebAdapters
: dit pakket wordt gebruikt in ondersteunende bibliotheken en biedt de System.Web-API's waarvoor u mogelijk een afhankelijkheid hebt gemaakt, zoals HttpContext
en andere. Dit pakket is bedoeld voor .NET Standard 2.0, .NET 4.5+ en .NET 6+.Microsoft.AspNetCore.SystemWebAdapters.FrameworkServices
: dit pakket is alleen gericht op .NET Framework en is bedoeld om services te bieden aan ASP.NET Framework-toepassingen die mogelijk incrementele migraties moeten bieden. Over het algemeen wordt er niet naar verwacht dat er vanuit bibliotheken naar wordt verwezen, maar naar de toepassingen zelf.Microsoft.AspNetCore.SystemWebAdapters.CoreServices
: dit pakket is alleen gericht op .NET 6+ en is bedoeld om services te bieden aan ASP.NET Core-toepassingen voor het configureren van het gedrag van System.Web
API's en voor het kiezen van gedrag voor incrementele migratie. Over het algemeen wordt er niet naar verwacht dat er vanuit bibliotheken naar wordt verwezen, maar naar de toepassingen zelf.Microsoft.AspNetCore.SystemWebAdapters.Abstractions
: dit pakket is een ondersteunend pakket dat abstracties biedt voor services die worden gebruikt door zowel de ASP.NET Core- als ASP.NET Framework-toepassing, zoals serialisatie van sessiestatussen.Zie het artikel adaptersvoor voorbeelden van scenario's waarin dit nuttig is.
Zie het artikel over gebruiksrichtlijnenvoor hulp bij het gebruik.
ASP.NET Core-feedback
ASP.NET Core is een open source project. Selecteer een koppeling om feedback te geven:
gebeurtenis
Power BI DataViz World Championships
14 feb, 16 - 31 mrt, 16
Met 4 kansen om in te gaan, kun je een conferentiepakket winnen en het naar de LIVE Grand Finale in Las Vegas maken
Meer informatieTraining
Module
ASP.NET Framework moderniseren naar ASP.NET Core met de .NET Upgrade Assistant - Training
In deze module leert u wanneer, waarom en hoe u een ASP.NET Framework-app kunt moderniseren naar ASP.NET Core met behulp van de upgradeassistent.
Documentatie
Aan de slag met incrementele ASP.NET naar ASP.NET Core-migratie
Aan de slag met incrementele ASP.NET naar ASP.NET Core-migratie
Meer informatie over het upgraden van ASP.NET Web Forms naar ASP.NET Core
Meer informatie over het upgraden van een ASP.NET Web Forms-project naar ASP.NET Core
Bijwerken van ASP.NET naar ASP.NET Core
Richtlijnen voor het migreren van bestaande ASP.NET MVC- of Web-API-apps naar ASP.NET Core.web