1

私は夢中になっているかもしれません...しかし、私はこれを行う方法があることを望んでいます。

イベント処理を含む基本クラスがあります。コンソールアプリケーションがワークフローを実行しています。そのワークフローの一部は、別のスレッドで特定の間隔でイベントを発生させて、ワーカーの現在の状態をブロードキャストすることです(多くの人がそれを呼ぶのを聞いたハートビート)。

また、同じソリューションに別のプログラムがあります。これは、ワーカーの状態を表示できるように、コンソールアプリケーションで何が起こっているかをリッスンできるようにするWindowsフォームです。両方を同時に実行して、イベントがトリガーされていることを確認しましたが、モニターが発生したイベントを検出していません。

これを行う方法がないのではないかと心配しています。データベースのロギング方法などに行く必要があります...しかし、偶然にも、誰かがイベント(またはイベントスタイル)ロジックを使用してアプリケーション間で通信する方法を知っていました、 私はそれをお願い申し上げます。

現在、アプリケーションは同じ場所から実行されています。目標は、モニターアプリケーションが最終的にネットワークのブロードキャスターに接続され、ワー​​クステーションがマシンにログインせずに特定のワーカー状態をモニターできるようにし、メインモニターにすべてのワーカーの完全なステータスが表示されるようにすることです。

これを拡張/明確化する必要がある場合はお知らせください。これを入力している間、2歳の子供にスターウォーズを見てもらい、何かを見逃した可能性があります。

4

1 に答える 1

2

いくつかの方法があります。リモーティング、カスタム Windows メッセージ、および名前付きパイプを使用します。1 つの方法は、Visual Basic .NET または Visual Basic 2005 でプロセス間通信に名前付きパイプを使用する方法です。

以下はリモート処理の例です: VB.Net での単純なプロセス間通信

カスタム Windows メッセージの例: VB.NET、VB6、および C# Window Messaging によるプロセス間通信

おそらく、最も「最新」の方法は、WCF コールバック チャネルを使用することです: Using Callback Contracts in WCF for Asynchronous Publish/Subscribe Event-Style Communication

于 2009-10-01T00:29:53.007 に答える