Schulungsübersicht
Einführung in die moderne .NET-Plattform
- .NET 8-Laufzeit, SDK und Überblick über die einheitliche Plattform
- Vergleich der Evolution von .NET Framework, .NET Core und .NET 8+
- Projektstruktur, Ziel-Frameworks und Grundlagen des Multi-Targeting
- Einrichten der Entwicklungsumgebung und Tooling
Moderne C# und zukunftsorientierte Sprachpraktiken
- Records, init-only Setter und Unveränderlichkeitsmuster
- Ergänzungen des Pattern-Matchings und switch-Ausdrücke
- Nullable-Referenztypen und compilergetriebene Sicherheit
- Bewährte Verfahren für Async/Await und speichereffizientes Streaming
- Generic Math, statische Abstracts in Schnittstellen und leistungsorientierte APIs
- Vorbereitung von Codebasen auf C# 12/13-Funktionen unter .NET 8
ASP.NET Core-Grundlagen und Anwendungsstart
- Host-Builder, Middleware-Pipeline und Anforderungslebenszyklus
- Minimal APIs im Vergleich zu Controller-basierten APIs: Entscheidungskriterien
- Konfigurationsanbieter, umgebungsspezifische Einstellungen und Geheimnisverwaltung
- Statische Dateien, Routing und Endpoint-Konventionen
- Konfiguration des Dependency-Injection-Containers und Service-Lebensdauern
REST-API-Design und Implementierung
- REST-Reifegradmodell, Ressourcenmodellierung und URI-Design
- HTTP-Methoden, Statuscodes und Inhaltsverhandlung
- Anforderungsvalidierung, Model-Binding und FluentValidation-Integration
- Versionierungsstrategien für öffentliche und interne APIs
- Dokumentation mit OpenAPI und Swagger UI
- Integrations testen von APIs mit TestServer und WebApplicationFactory
Enterprise-Dependency-Injection und Inversion of Control
- Konstruktorinjektion, Service-Lebensdauern und gefangene Abhängigkeiten
- Decorator- und Factory-Patterns mit dem integrierten Container
- Scrutor und Integration von Drittanbieter-DI-Bibliotheken
- Modulare Dienstregistrierung und funktionbasierte Organisation
- Querschnittsbelange über Middleware und Filter
Logging, Konfiguration und zentralisierte Fehlerbehandlung
- Strukturiertes Logging mit Microsoft.Extensions.Logging und Serilog
- Log-Level, Scopes, Anreicherung und Sink-Konfiguration
- Ausnahmemiddleware und globale Fehlerverarbeitungs-Pipelines
- ProblemDetails und RFC 7807-konforme Fehlerantworten
- Gesundheitsüberprüfungen, Telemetrie und Beobachtbarkeits-Hooks
- Korrelations-IDs und Vorbereitung auf verteiltes Tracing
Softwarearchitektur für Enterprise-.NET-Lösungen
- Schichten-, Hexagonale- und Clean-Architecture-Prinzipien
- Domänengetriebenes Design-Bausteine in .NET
- CQRS und Mediator-Patterns mit MediatR
- Repository- und Unit-of-Work-Patterns mit EF Core
- Vertikale Slice-Architektur für Funktion Kohäsion
- Bewertung der Vor- und Nachteile von Monolith, modular Monolith und Microservices
Sicherheit für Webanwendungen und APIs
- Authentifizierungsschemata: JWT, OAuth2, OpenID Connect und cookie-basierte Abläufe
- Autorisierungsrichtlinien, Anspruchs-basierter Zugriff und ressourcenbasierte Guards
- HTTPS-Erwzwingung, HSTS und sichere Header-Middleware
- Eingangs-Sanierung, Ausgangs-Codierung und OWASP Top 10-Minderung
- Rate Limiting, CORS-Richtlinien und Anti-Forgery-Token-Verwaltung
- Gebührenverwaltung mit Azure Key Vault und umgebungsgetriebener Rotation
Codequalität, Wartbarkeit und bewährte Verfahren
- Codierstandards, EditorConfig und dotnet format
- Statische Analyse mit Roslyn-Analysen und SonarQube-Integration
- Unit Testing mit xUnit, Mocking mit Moq oder NSubstitute
- Integrations- und Vertrags-Testing in CI-Pipelines
- Refactoring-Techniken für langlebige Legacy-Module
- Dokumentation, API-Verträge und Wissensweiterungspraktiken
Modernisierungsstrategie: Bewertung von Legacy-.NET-Framework-Code
- Portfolioanalyse: Klassifizieren von Apps nach Kritikalität, Komplexität und Geschäftswert
- Nutzung des .NET Upgrade-Assistant und Kompatibilitätsanalysators
- Identifizierung veralteter APIs, plattformspezifischer Abhängigkeiten und Lücken bei Drittanbietern
- Windows-spezifische APIs und Überlegungen zur WCF-Migration
- Erstellung einer Migrations-Roadmap mit risikobasierter Priorisierung
Schrittweise Migration und Koexistenztechniken
- Strangler Fig-Pattern: schrittweiser Ersatz von Legacy-Subsystemen
- API-first migration: Exposition von .NET-Framework-Domains über REST-Fassaden
- Nachrichtenbasierte Brücken mit RabbitMQ, Azure Service Bus oder Kafka
- Coexistenz mit gemeinsamer Datenbank und Schema-Versionierungsstrategien
- Gleichzeitiges Ausführen von .NET Framework und .NET 8 in derselben Infrastruktur
- Konfigurieren moderner Komponenten während Legacy auf IIS verbleibt
Praktisches Migrationslabor und Überprüfung
- Anwenden des Upgrade-Assistant auf ein repräsentatives Legacy-Projekt
- Refactoring einer Web Forms- oder WCF-Dienstes zu ASP.NET Core APIs
- Implementierung von DI, Logging und zentralisierter Fehlerbehandlung in der migrierten Lösung
- Hinzufügen von Authentifizierung und Autorisierung zur neuen API-Oberfläche
- Überprüfung der Koexistenz durch end-to-End-Integrations tests
- Überprüfung, Q&A und Anleitung zur Modernisierungsplanung nach dem Training
Voraussetzungen
- Erfahrung mit C#-Programmierung und objektorientierten Designprinzipien
- Vertrautheit mit Webentwicklungs-Konzepten (HTTP, HTML, CSS, Grundlagen von JavaScript)
- Basisverständnis relationaler Datenbanken und SQL
- Vorherige Berührungspunkte mit .NET Framework oder ASP.NET sind hilfreich, aber nicht erforderlich
Zielgruppe
- .NET-Entwickler und Architekten, die darauf vorbereitet sind, Legacy-.NET-Framework-Anwendungen zu modernisieren
- Softwareingenieure, die in Enterprise-.NET-Entwicklungsrollen vorstoßen
- Techische Leiter, die für Plattformmigration und Koexistenzplanung verantwortlich sind
- DevOps- und Infrastrukturmitarbeiter, die die .NET-Anwendung Lebenszyklen unterstützen
Erfahrungsberichte (2)
Interaktivität und dynamische Code-Lösungen
Eduard-Emanuel Zaharia - Kruk Italia
Kurs - Advanced Blazor
Maschinelle Übersetzung
Möglichkeit, praktisch tätig zu werden, und Geduld des Trainers
sheena - Te Manawa Taki Trauma System
Kurs - Visual Studio 2022 IDE
Maschinelle Übersetzung