Dies ist ein Schulungsmodul für Umsteiger von WebAPIs im klassischen .NET Framework auf WebAPIs in der .NET Core/.NET.
Wenn Sie neu WebAPI-Programmierung erlernen wollen, empfehlen wir das Schulungsmodul ASP.NET Core WebAPI
Strategiewechsel bei Microsoft
Open SourceAgilitätModularisierungCross-PlatformZielgruppen.NET 6.0 im Überblick
Die .NET "Core"-StrategieUnterschiede .NET Framework (CLR) und .NET Core /.NET 6.0 (Core CLR)Vor- und Nachteile von .NET 6.0 gegenüber .NET FrameworkPlatformen: Windows, Linux, macOS, iOS, Android, Web/BrowserVerfügbare Versionen von .NET 6.0, Aktualisierungszyklen, Semantic VersioningSupport von .NET 6.0: Long-Termin-Support vs. Current VersionProgrammiersprachen für .NET 6.0 (C#, Visual Basic .NET und F# sowie C++/CLI)Verbesserungen in CLR, Just-in-Time-Compiler und Garbage CollectorAusblick auf kommende .NET-VersionenÜberblick über die Anwendungsarten in .NET 6.0 (Vertiefung nach Wunsch)
Desktop-Anwendungen mit WPF und Windows Forms sowie Windows UI Library 3Webserver-Anwendungen mit ASP.NET CoreSingle-Page-Web-Applications (SPA) mit ASP.NET BlazorWebAPIs mit ASP.NET CoreSystemdienste (Windows Services / systemd)Google RPC-DiensteKonsolenanwendungenNeuerungen in C#
Neuerungen in C# 8.0Neuerungen in C# 9.0Neuerungen in C# 10.0.NET 6.0 SDK und andere Werkzeuge für .NET 6.0
Das neue Projektformat für .NET 6.0Werkzeuge in Visual Studio für .NET 6.0Die neuen KommandozeilenwerkzeugeDOTNET CLI (dotnet.exe)crossgen.exe.NET IL Linker (Trimming/Tree Shaking)Paketverwaltung mit NuGet, Vermeidung der PakethölleNeuerungen in Visual Studio für .NET 6.0Hot Reloadingoptional: Visual Studio Code als Alternative zu Visual StudioKlassenbibliotheken in .NET 6.0
.NET StandardFunktionen und Klassen aus .NET, die es in .NET 6.0 nicht mehr gibtNeue Klassen in .NET 6.0Windows Compatibility Pack (WCP)Austauschbarkeit von Bibliotheken (Assemblies, DLLs) zwischen .NET, .NET Core und MonoInteroperabilität mit Win32-APIs, COM und WinRTTesten von .NET 6.0-Anwendungen
Unterstützte Unit Test-FrameworksTestwerkzeugeDeployment von .NET 6.0-Anwendungen
Framework-dependent Deployment (FDD) / Portable Application (PA) Self-contained Deployment (SCD) / Self-contained Application (SCA)Single File PublishAssembly Linker (IL Linker)Ready to Run Images (R2R)Windows Application Packaging (MSIX)Deployment auf lokale SystemeDeployment in die Azure-CloudMigration von .NET Framework zu .NET 6.0
HerausforderungenMigrationswerkzeuge.NET Portability Analyzer, Try-Convert, .NET Upgrade AssistantAufwand für verschiedene MigrationsszenarienMigrationsleitpfadenMigrationsszenarien
WPF zu WPF CoreWindows Forms zu Windows Forms CoreASP.NET zu ASP.NET CoreEntity Framework zu Entity Framework Core WCF zu gRPCAndere OptionenOptional: Umstellung Ihrer Anwendungen .NET 6.0 (setzt vorherige Einarbeitung in Ihre Anwendungen voraus)
Startcode einer ASP.NET Core-Anwendung
Konzept der Middleware-Komponentenverschiedene Middleware-Komponenten verwendenNeuerungen bei der Verarbeitung von HTTP-Anfragen
Middleware-Komponenten POCO-ControllerHosting
Hosting im IISSelf-HostingWebAPIs in ASP.NET Core
Änderungen gegenüber dem klassischen ASP.NET WebAPI 2.xNeue Funktionen in ASP.NET Core WebAPIUnterstützung für Metadaten mit Open API Specification (OAS)Sicherheit, Authenfizierung und AutorisierungASP.NET Core WebAPI in der Praxis
Erstellung eines WebAPIsErstellung eines Clients mit HttpClientGenerierung eines Clients mit den Swagger-WerkzeugenGoogle RPC in ASP.NET Core
KonzepteUnterschiede zu ASP.NET Core WebAPIKommunikationsvariantenSicherheit, Authenfizierung und AutorisierungGoogle RPC in der Praxis
Erstellung eines gRPC-ServerErstellung eines gRPC-ClientsOptional: ASP.NET Core auf Linux und macOS
Optional: Umstellung Ihrer Anwendungen auf ASP.NET Core 6.0 (setzt vorherige Einarbeitung in Ihre Anwendungen voraus)