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-PlatformZielgruppenDas mdoerne .NET im Überblick
Die .NET "Core"-StrategieUnterschiede klassisches .NET Framework (CLR) und modernes .NET Core /.NET (Core CLR)Vor- und Nachteile von .NET gegenüber .NET FrameworkPlatformen: Windows, Linux, macOS, iOS, Android, Web/BrowserVerfügbare Versionen von .NET, Aktualisierungszyklen, Semantic VersioningSupport von .NET: Long-Termin-Support vs. Current VersionProgrammiersprachen für .NET (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 im modernen .NET (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.0Neuerungen in C# 11.0Neuerungen in C# 12.0.NET SDK und andere Werkzeuge für das moderne .NET
Das neue Projektformat im modernen .NETWerkzeuge in Visual Studio für das moderne .NETDie 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 das moderne .NETHot Reloadingoptional: Visual Studio Code als Alternative zu Visual StudioKlassenbibliotheken im modernen .NET
.NET StandardFunktionen und Klassen aus .NET, die es im modernen .NET nicht mehr gibtNeue Klassen im modernen .NETWindows Compatibility Pack (WCP)Austauschbarkeit von Bibliotheken (Assemblies, DLLs) zwischen .NET, .NET Core und MonoInteroperabilität mit Win32-APIs, COM und WinRTTesten von modernen .NET-Anwendungen
Unterstützte Unit Test-FrameworksTestwerkzeugeDeployment von modernen .NET-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 vom klassischen .NET Framework zum modernen .NET
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 auf das moderne .NET (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 (setzt vorherige Einarbeitung in Ihre Anwendungen voraus)