.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?