mayho33
Goto Top

C-Sharp NamedPipe UnnamedPipe mehrere Übertragungen

Hallo @ All,

Den Foren-Regeln entsprechend eröffne ich eine zweiten Thread zum selben Thema wo es aber um eine andere Art der Umsetzung geht. Wie der Titel schon sagt, um "NamedPipe"
Der andere Lösungsweg den ich verfolge (genauso erfolglos):
C-Sharp PSCmdlet Dll mit WPF-Window. Nicht erwartetes Verhalten bei Window.Show()

Eigentlich würde ich lieber NamedPipe umsetzen, weil es meiner Ansicht nach flexibler ist.

In beiden Fällen (Thread im Link und in dieser Frage) möchte ich zwischen einem PS-Script und einer WPF-Anwendung kommunizieren, sprich verschiedene Stati übertragen. Im konkreten Fall hier, schaffe ich es aber nicht, mehr als nur 1x zu kommunizieren. Der Client mein dann, dass die Verbindung bereits geschlossen wurde.

Im Detail soll es so ablaufen:
Ein Script soll mehrere Installationen durchführen. Das Window soll den Status anzeigen in etwa so:
  • Start => User informieren, dass eine Anwendung installiert werden soll
  • Run => Progressbar und welche Anwendung gerade installiert wird
  • (optional) Error anzeigen
  • Finish => Benutzter bestätigt mit OK, der Rechner wird restartet oder das Fenster schließt sich einfach. Je nach Art.

In allen Fällen soll der User mit "OK" bestätigen.

Wie will ich das umsetzen:
  • Wenn das Script nicht mit "-Silent" gestartet wird, soll es das WPF-Window starten und via NamedPipe übertragen wie sich das Window verhalten soll (Start anzeigen). Klickt der User auf "OK", soll dies das Script mitbekommen (Cmdlets und WPF-Window sind bereits vorhanden und funktionieren für sich recht gut).
  • Wenn ein Fehler auftritt soll dies an das Window übertragen werden und es schaltet ein anderes userControl auf Visible. Der User soll wiederum mit OK" bestätigen und das Script macht entsprechend weiter, wenn es empfangen hat.
  • Das gleiche bei ERROR, FINISH, FINISH-REBOOT.

In allen Fällen bleibt das Window TopMost(true)

Ich habe mehrere Besipiele aus dem Netz versucht. Entweder habe diese nicht funktioniert, nicht den gewüschten Effekt oder ich habs einfach nicht kappiert was da abläuft. Ich habe bin da noch voll grün hinter den Ohren und hoffe auf eure Unterstützung.

Versucht habe ich:
https://docs.microsoft.com/de-de/dotnet/standard/io/how-to-use-named-pip ...
https://www.codeproject.com/Articles/1179195/Full-Duplex-Asynchronous-Re ...
https://stackoverflow.com/questions/9451429/how-to-continue-sending-read ...
https://stackoverflow.com/questions/4480527/send-multiple-messages-betwe ...

Danke an alle die mir helfen wollen!

Mayho

Content-Key: 607980

Url: https://administrator.de/contentid/607980

Ausgedruckt am: 29.03.2024 um 10:03 Uhr