2

組み込みデバイス用のアプリケーションをいくつか開発しています。Windows CE 5.0 および C# 2.0 を使用する XP 組み込みの両方と互換性があるはずです。アプリケーションは、通常はイベントを表す小さなメッセージを交換する必要があります。TCP ソケットと、ディスパッチャーとして機能する別のサーバー (pub/sub パターンを使用) を使用して、最初のプロトタイプを実装しました。それは機能しますが、MSMQ を使用する方がより良い解決策になるかどうか疑問に思っています。いくつかのシナリオではメッセージの永続化が役立ちますが、通常はすべてのイベントがターゲット アプリケーションによってすぐに消費される必要があります。両方のソリューションの長所と短所、および決定に役立つガイドラインを知りたいです。

ありがとうございました

4

2 に答える 2

3

メッセージ キューイングは、トランザクション キューを介した配信が保証されている点で優れています。これにより、クラッシュや予期しない再起動に対するシステムの回復力を高めることができます。しかし、それは通常、そのような事故からアプリを再起動し、メッセージの受信を再開する前に状態を復元できる場合にのみうまく機能します.

これは重要な要件です。それを満たすことができない場合、ステートフル メッセージはマシンを再びダウンさせる傾向があります。メッセージの内容がステートフルでなくても、ほとんどの場合、メッセージを受信して​​プログラムの状態を変更する順序によって、明示的な状態が存在します。これはミドルウェアの呪いであり、ネットワーキングは抽象化できる実装の詳細であると想定するソフトウェアは、実際にはうまく機能しません。

SOでのこの回答は、この問題を特によく表していると思いました。

于 2010-11-19T15:09:48.593 に答える
2

インターフェイスを抽象化し、インターフェイスに基づいてそれらを実装し、決定を構成項目にする傾向があります。変化する可能性のあるニーズに基づいて、ユーザーがプロトコルを選択できるようにします。

于 2010-11-19T15:14:22.540 に答える