.NET Systemnahe Programmierung

Zielgruppe:

Software-Entwickler, Software-Architekten, Projektleiter

Voraussetzungen:

Kenntnis der Programmiersprache C#. (C++ auf Anfrage)

Dauer:

5 Tage

Kursziel:

Sie sind in der Lage, leistungsfähige Windows-Applikationen auf der Basis des .NET-Frameworks zu entwickeln. Sie kennen die Möglichkeiten des .NET-Prozess- und Multithreading-Modells und wissen, wie man die Leistung moderner Multicore-Systeme nutzt. Sie können .NET-Applikationen nicht nur untereinander oder mit Win32-Anwendungen kommunizieren lassen, sondern über TCP/IP oder serielle Schnittstellen auch mit Programmen anderer Systeme. Sie sind in der Lage, Anwendungen als Client-/Server-Applikationen und Serverprozesse als Dienste (Services) zu realisieren. Darüber hinaus wissen Sie, wie man wiederverwendbare Softwaremodule als DLLs implementiert und wie man unverwalteten (nativen) C/C++ - Code in einer .NET-Applikationen nutzt.


Inhalt:

Multithreading

  • Prozesse, Threads, AppDomains
  • Zustände, Prioritäten, Scheduling
  • Multicore-Applikationsdesign
  • ThreadPools und Asynchrones Programmiermodell (APM)
  • Performance Optimierung

Synchronisation

  • Mutex, Monitor, (Reader-/Writer-) Locks, Semaphore,Condition Variable
  • Atomare Operationen, Interlocked
  • Events

Stream-IO

  • Stream-Konzept
  • Memory Streams
  • Text-IO, Textformatierung (Encoding)
  • Stream- u. String-Reader/Writer
  • IO-Umlenkung
  • Binäres IO (BinaryReader/-Writer)

Dateiverwaltung

  • Files, FileInfo, FileSystemInfo
  • Directories, DriveInfo, Path
  • FileSystemWatcher

Interprozesskommunikation

  • Named-/Anonymous Pipes
    • Client-/Server-Kommunikation
    • Byte-/Message-Kommunikation
    • Netzwerktransfer u. Zugriffskontrolle
  • TCP-Netzwerkkommunikation
    • Sockets, Select
    • TcpClient/TcpServer
  • Remoting
    • Wellknown Objects
    • Client Activated Objects
    • Lebensdauerverwaltung
  • Serielle Schnittstellen

Services

  • Installation und Bedienung
  • Kommunikation zw. SCM und Service
  • Eventlog

Dynamische Linkbibliothek (DLL)

  • Private- / Shared Dll

Zugriff auf unverwalteten Code

  • Platform-Invoke
  • Unsafe-Programmierung
  • C++/CLI

Nicht genau was Sie suchen?

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.