Frage

Ich bin vielleicht verrückt geworden ... aber ich hoffe, dass es eine Möglichkeit gibt, dies zu tun.

Ich habe eine Basisklasse, in der Ereignishandling in sich ist. In meiner Konsolenanwendung wird mein Workflow ausgeführt. Ein Teil dieses Workflows besteht darin, Ereignisse in bestimmten Abständen in einem separaten Thread zu erhöhen, um den aktuellen Zustand der Arbeitnehmer zu übertragen (ein Herzschlag, den ich viele nennen habe).

Ich habe auch ein anderes Programm in derselben Lösung, in der es sich um ein Windows -Formular handelt, von dem ich möchte, dass es in der Lage ist, zu hören, was in der Konsolenanwendung vor sich geht, damit die Arbeiterzustände angezeigt werden können. Ich habe versucht, gleichzeitig sowohl zu laufen als auch die Auslöser der Ereignisse zu verifizieren, aber der Monitor findet keine der erhöhten Ereignisse.

Ich befürchte, dass es keine Möglichkeit gibt, dies zu tun, und ich muss zu einer Datenbankprotokollierungsmethode oder etwas anderem gehen ... aber in der Chance wusste jemand, wie er zwischen Anwendungen mit Ereignis- (oder Ereignisstil-) Logik kommunizieren soll , Ich würde es schätzen.

Derzeit werden die Anwendungen vom selben Ort aus ausgeführt. Das Ziel ist, dass die Monitoranwendung schließlich mit einem Sender für unser Netzwerk beigefügt wird, damit unsere Arbeitsstationen für bestimmte Arbeiterzustände überwachen können, ohne in die Maschine angemeldet zu werden, und der Hauptmonitor zeigt uns den vollen Status aller Arbeitnehmer.

Bitte lassen Sie mich wissen, ob ich dies erweitern/klären muss und einen 2-Jährigen Star Wars ansehen muss, während ich dies tippe, damit ich vielleicht etwas verpasst habe.

War es hilfreich?

Lösung

Es gibt verschiedene Möglichkeiten: Verwenden von Remoting, benutzerdefinierten Windows -Nachrichten und benannten Pipes. Ein Weg ist So verwenden Sie benannte Pipes für die Interprozesskommunikation in Visual Basic .NET oder in Visual Basic 2005

Hier ist ein Remoting -Beispiel: Einfache Kommunikation zwischen den Prozess in VB.NET

Hier ein Beispiel für benutzerdefinierte Windows -Nachrichten: VB.NET, VB6 und C# Interprozess -Kommunikation über Window Messaging

Der vielleicht aktuellste Weg ist die Verwendung von WCF-Callback-Kanälen: Verwendung von Rückrufverträgen in WCF für asynchronische Veröffentlichung/Abonnement-Event-Stil-Kommunikation

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top