Kontakt aufnehmen

Schulungsübersicht

Einführung in die moderne .NET-Plattform

  • .NET 8-Laufzeit, SDK und Übersicht der einheitlichen Plattform
  • Vergleich der Entwicklung von .NET Framework, .NET Core und .NET 8+
  • Projektstruktur, Ziel-Frameworks und Grundlagen des Multi-Targeting
  • Einrichtung der Entwicklungsumgebung und der Tooling

Moderne C# und zukunftsorientierte Sprachpraktiken

  • Records, init-only Setter und Unveränderbarkeitsmuster
  • Verbesserungen im Pattern Matching und Switch-Ausdrücke
  • Nullobare Verweistypen und compilergestützte Sicherheit
  • Best Practices für async/await und speichereffizientes Streaming
  • Allgemeine Mathematik, statische Abstracts in Interfaces und leistungsoptimierte APIs
  • Vorbereitung von Codebasen auf C# 12/13-Features unter .NET 8

Grundlagen von ASP.NET Core und Anwendungsstart

  • Host Builder, Middleware-Pipeline und Anfragelebenszyklus
  • Minimale APIs im Vergleich zu Controller-basierten APIs: Entscheidungskriterien
  • Konfigurationsanbieter, umgebungsspezifische Einstellungen und Secrets-Verwaltung
  • Statische Dateien, Routing und Endpoint-Konventionen
  • Konfiguration des Dependency-Injection-Containers und Service-Lebensdauern

Design und Implementierung von REST-APIs

  • REST-Reifegradmodell, Ressourcenmodellierung und URI-Design
  • HTTP-Methoden, Statuscodes und Content Negotiation
  • Anfragenvalidierung, Model-Binding und FluentValidation-Integration
  • Versionierungsstrategien für öffentliche und interne APIs
  • Dokumentation mit OpenAPI und Swagger UI
  • Integrations_tests von APIs mit TestServer und WebApplicationFactory

Enterprise Dependency Injection und Inversion of Control

  • Konstruktorinjektion, Service-Lebensdauern und eingefangene Abhängigkeiten
  • Decorator- und Factory-Muster mit dem integrierten Container
  • Scrutor und Integration von Drittanbieter-DI-Bibliotheken
  • Modulare Dienstregistrierung und featuresbasierte Organisation
  • Querschnittsbelange via Middleware und Filter

Logging, Konfiguration und zentrale Fehlerbehandlung

  • Gestructuriertes Logging mit Microsoft.Extensions.Logging und Serilog
  • Logstufen, Scopes, Anreicherung und Sink-Konfiguration
  • Exception-Middleware und globale Fehlerbehandlungs-Pipelines
  • ProblemDetails und RFC 7807-konforme Fehlerantworten
  • Health Checks, Telemetrie und Observability-Hooks
  • Korrelations-IDs und Vorbereitung auf Distributed Tracing

Softwarearchitektur für Enterprise-.NET-Lösungen

  • Gliederungsprinzipien, Hexagonale Architektur und Clean Architecture
  • Domain-Driven Design-Bausteine in .NET
  • CQRS und Mediator-Muster mit MediatR
  • Repository- und Unit-of-Work-Muster mit EF Core
  • Vertikale Scheibenarchitektur für Feature-Kohäsion
  • Bewertung von Kompromissen zwischen Monolith, modularer Monolith und Microservices.

Sicherheit für Webanwendungen und APIs

  • Authentifizierungsschemata: JWT, OAuth2, OpenID Connect und Cookie-basierte Abläufe
  • Autorisierungsrichtlinien, anspruchsbasierten Zugriff und ressourcenbasierte Guards
  • HTTPS-Durchsetzung, HSTS und sichere Header-Middleware
  • Eingangs-Sanitierung, Ausgans-Encoding und OWASP Top 10 Minimierung
  • Rate Limiting, CORS-Richtlinien und Anti-Forgery-Token-Verwaltung
  • Secrets-Verwaltung mit Azure Key Vault und umgebungsgetriebener Rotation.

Codequalität, Wartbarkeit und Best Practices

  • Codierungsstandards, EditorConfig und dotnet format
  • Statische Analyse mit Roslyn-Analysatoren und SonarQube-Integration
  • Unit-Tests mit xUnit, Mocking mit Moq oder NSubstitute.
  • Integrations- und Vertragstests in CI-Pipelines
  • Refactoring-Techniken für langlebige Legacy-Module
  • Dokumentation, API-Verträge und Praktiken des Wissensaustauschs.

Modernisierungsstrategie: Bewertung von legacy .NET Framework-Code

  • Portfolioanalyse: Klassifizierung von Apps nach Kritikalität, Komplexität und Geschäftswert
  • Nutzung des .NET Upgrade Assistants und Kompatibilitätsanalyzers
  • Identifizierung veralteter APIs, plattformspezifischer Abhängigkeiten und Lücken bei Drittanbietern.
  • Auf Windows-spezifische APIs und WCF-Migrationsüberlegungen.
  • Erstellung einer Migrations-Roadmap mit risikobasierter Priorisierung.

Progressive Migration und Koexistenztechniken

  • Strangler-Fig-Muster: inkrementeller Ersatz alter Subsysteme
  • API-first-Migration: Offenlegen von .NET Framework-Domains über REST-Fassaden
  • Nachrichtenbasiertes Bridging mit RabbitMQ, Azure Service Bus oder Kafka.
  • Koexistenz geteilter Datenbanken und Strategien zur Schema-Versionierung.
  • Gleichzeitiges Ausführen von .NET Framework und .NET 8 in derselben Infrastruktur.
  • Containerisierung moderner Komponenten bei gleichzeitiger Beibehaltung des Legacy auf IIS.

Praktisches Migrationslabor und Review

  • Anwendung des Upgrade Assistants auf ein repräsentatives Legacy-Projekt.
  • Refactoring eines Web Forms- oder WCF-Dienstes in ASP.NET Core-APIs.
  • Implementierung von DI, Logging und zentraler 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-Integrationstests.
  • Review, Fragen & Antworten und Anleitung zur Nachschulungs-Modernisierungsplanung.

Voraussetzungen

  • Erfahrung in der C#-Programmierung und objektorientierten Designprinzipien
  • Vertrautheit mit Webentwicklungskonzepten (HTTP, HTML, CSS, Grundlagen von JavaScript)
  • Grundlegendes Verständnis von relationalen Datenbanken und SQL
  • Vorerfahrung mit .NET Framework oder ASP.NET ist hilfreich, aber nicht erforderlich.

Zielgruppe

  • .NET-Entwickler und Architekten, die darauf vorbereitet sind, legacy .NET Framework-Anwendungen zu modernisieren
  • Softwareingenieure, die in Unternehmensrollen für die .NET-Entwicklung einsteigen
  • Teknische Leiter, die für die Plattformmigration und Koexistenzplanung verantwortlich sind
  • DevOps- und Infrastrukturmitarbeiter, die den Lebenszyklus von .NET-Anwendungen unterstützen.
 21 Stunden

Teilnehmerzahl


Preis je Teilnehmer (exkl. USt)

Erfahrungsberichte (2)

Kommende Kurse

Verwandte Kategorien