Seminare
Seminare

Moderne Asynchrone Programmierung mit C#

Seminar - GFU Cyrus AG

In diesem Seminar bekommen Sie einen Überblick über die neuen Techniken von .NET, zur asynchronen Programmierung und serviceorientierte Programmierung. Sie wissen dann, wie man mehrere Threads steuert und wie man auf entfernte Programmabläufe zugreift.
Termin Ort Preis*
firmenintern auf Anfrage auf Anfrage
*Alle Preise verstehen sich inkl. MwSt.

Detaillierte Informationen zum Seminar

Inhalte:
  • Einführung & Motivation
    • Warum async/await? Evolution von Threads -> Tasks -> async/await
    • Vorteile: Skalierbarkeit, Responsiveness, bessere Ressourcenverwendung
    • Unterschiede zwischen paralleler und asynchroner Programmierung

  • Moderne Techniken in .NET 9
    • async/await, ValueTask, Task, IAsyncEnumerable
    • Task.Run, ConfigureAwait(false) - Best Practices
    • Neuerungen in .NET 9, z. B.:
      • Optimierungen im async State Machine Codegen
      • Verbesserte Performance für ValueTask
      • Task Pooling Mechanismen


  • Parallele Programmierung
    • Unterschiede zu Async: Parallel.For, PLINQ, Parallel.Invoke
    • Wann was? - Entscheidungsmatrix

  • Timer & Scheduled Execution
    • System.Threading.Timer, PeriodicTimer, Task.Delay
    • Neue Optionen in .NET 6+/.NET 9

  • Delegates
    • Verwendung von Delegates und Func/Action für Callbacks
    • Vergleich: Delegates vs. Lambdas vs. Async Lambdas

  • Synchronisation und Thread Safety
    • Grundlagen & Probleme
      • Race Conditions, Deadlocks, Synchronisationsbedarf erkennen

    • Aktuelle Synchronisationsmechanismen
      • lock, Monitor, Mutex, SemaphoreSlim, ReaderWriterLockSlim
      • Interlocked, Volatile, ThreadLocal
      • Neues in .NET 9 (z. B. strukturelle Optimierungen)

    • Concurrent Collections
      • ConcurrentDictionary, ConcurrentQueue etc. - wann sie helfen


  • Event-Driven & Reactive Patterns
    • Event-basierte async-Modelle: IObservable / Reactive Extensions (Rx.NET)
    • Channels (System.Threading.Channels) - für Producer-Consumer-Szenarien

  • Moderne serviceorientierte Kommunikation (REST, HTTP, gRPC)
    • Architekturüberblick
      • Microservices, Smart Clients, API-Gateways, Backend-for-Frontend

    • Aktuelle Kommunikationstechniken
      • REST mit HttpClientFactory, Polly, CancellationToken, Timeout
      • JSON (System.Text.Json), XML (fallback only)
      • HTTP/2 & HTTP/3 Support in .NET 9

    • Moderne Patterns
      • DTOs, AutoMapper, Input/Output Validation
      • Clean Architecture / Vertical Slices

    • gRPC (Optional - als REST-Alternative)
    • Warum gRPC? Vorteile/Nachteile gegenüber REST
    • Streaming & Async Communication mit Protobuf

  • Best Practices & Fehlerquellen
    • Async all the way - wo auf keinen Fall .Result oder .Wait()
    • UI-Synchronisation in Blazor, WPF, WinForms
    • Exception Handling im Async-Kontext
    • Logging & Tracing (OpenTelemetry, Structured Logging)








Zielgruppe:

Teilnehmen können Programmierer, die Programme mit dem .NET-Framework entwickeln möchten und über Erfahrung mit der Programmentwicklung unter .NET verfügen.

Teilnahmevoraussetzungen:


  • Sie verfügen über solide Kenntnisse in C# und dem .NET-Ökosystem
Seminarkennung:
S515
Nach unten
Nach oben
Wir setzen Analyse-Cookies ein, um Ihre Zufriedenheit bei der Nutzung unserer Webseite zu verbessern. Diese Cookies werden nicht automatisiert gesetzt. Wenn Sie mit dem Einsatz dieser Cookies einverstanden sind, klicken Sie bitte auf Akzeptieren. Weitere Informationen finden Sie hier.
Akzeptieren Nicht akzeptieren









Um Spam abzuwehren, geben Sie bitte die Buchstaben auf dem Bild in das Textfeld ein:

captcha



Bei der Verarbeitung Ihrer personenbezogenen Daten im Zusammenhang mit der Kontaktfunktion beachten wir die gesetzlichen Bestimmungen. Unsere ausführlichen Datenschutzinformationen finden Sie hier. Bei der Kontakt-Funktion erhobene Daten werden nur an den jeweiligen Anbieter weitergeleitet und sind nötig, damit der Anbieter auf Ihr Anliegen reagieren kann.







Um Spam abzuwehren, geben Sie bitte die Buchstaben auf dem Bild in das Textfeld ein:

captcha