0

私はかなりの間 WCF を使用しており、MSDN で WCF のパブリッシャー サブスクライバー モデルに関する記事をいくつか見つけました。

私が着手しようとしているプロジェクトの要件の 1 つは、1 つのサーバーが複数のサーバーにメッセージを送信することを要求するため、パブリッシャー/サブスクライバー モデルに関するいくつかのクエリがあります。

これに関する私の主な関心事は次のとおりです。

たとえば、PC の再起動が原因で、サブスクライバーの 5 人中 2 人が切断された場合はどうなりますか。2 人のサブスクライバーが再接続したときに、パブリッシャーがメッセージを 2 人のサブスクライバーに再送信するのを手動で処理する必要がありますか?

他のすべてのサブスクライバーに確実に到達するには、パブリッシャーが送信する各メッセージが必要です。他のすべてのサブスクライバーがオフラインの場合、サブスクライバーがオンラインに戻ったときにメッセージを再送信する責任がパブリッシャーにある必要があります。パブリッシャーから大量のメッセージが送信される可能性があるため、オフラインのサブスクライバーに送信されるはずのすべてのメッセージを保存し、戻ってきたときにそれらを再送信するために、何らかのキューイング メカニズムが必要になるということですか?オンライン?

WCF のパブリッシャー/サブスクライバー モードの使用は私のシナリオに適していますか? 切断されたサブスクライバーをサポートし、サブスクライバーがオンラインに戻ったときに自動的に再送信するモデルはありますか? または、これを処理するためにすべての側面をカスタム コードする必要がありますか?

4

1 に答える 1

0

MSMQ を試すことができます。WCF はそれをサポートしています。パブリッシャーはメッセージを 5 つのキューに送信します。各コンシューマーはそのキューを読み取ります。

于 2012-07-25T07:41:20.417 に答える