19

以前にも同様の質問があったことは知っていますが、グーグルで検索しても完全に迷ってしまいます。

メイン アプリケーションがバックグラウンド スレッドで行っていたことを実行する小さな Windows サービスを作成しました (いくつかの理由から、それを別のサービスに移動することは理にかなっています)。

バックグラウンド スレッドがアプリケーションの一部として実行されていた場合、バックグラウンド スレッドは作業 (この場合はデータベースの更新) が完了するたびにイベントを発生させ、そのイベントからのタイムスタンプを使用して適切な情報を取得し、ウィンドウを更新しました。あまり関係ないと思いますが、詳しく知りたい方は教えてください。

データベースをいっぱいにするものをサービスとして実行するようになったので、問題は次のようになります。イベントによって行われていたものをどのように置き換えるか?

つまり、サービスからアプリに基本的な DateTime を伝達する最も簡単で効果的な方法は何ですか?

私はこれまで IPC を行ったことがありませんでしたが、読み始めて完全に混乱しました。Named Pipesこれまでのところ私の最善の策のようですが、それらの機能を理解するのに役立つものを見つけることができませんでした...見つけたのは、コメントが不十分なコードのチャンクまたは必要以上に深い「チュートリアル」だけです、基本を明確にカバーせずに。

というわけで、しっかりと土台ができずに、ちょっと行き詰ってしまいました。自分のイベントが行っていたことを行う簡単なコミュニケーションを実装するための最良の方法は何ですか?また、その方法の基本はどこで学べますか?

編集:

いつものように、ここにいる全員が元気です。迅速な対応に感謝します。Gerrie のリンクは、まさに私が必要としていたものであることがわかりました (当時は、それが必要なことだとは知りませんでしたが)。

4

2 に答える 2

8

名前付きパイプの概念に怯える必要はありません。面倒なことは WCF が処理してくれます。構成を行うだけで済みます。これは、たとえば HTTP を使用する代わりに、単に別の通信チャネルです。したがって、WCF を調べる必要があります。

このチュートリアルをチェックしてください。

于 2013-08-30T15:01:08.717 に答える
4

つまり、サービスからアプリに基本的な DateTime を伝達する最も簡単で効果的な方法は何ですか?

このシナリオでは名前付きパイプを使用する必要がありますが、他のオプションにはMSMQ Webサービスが含まれます。

于 2013-08-30T15:00:58.493 に答える