2012-01-29 7 views
1

私はASP.NET MVCクライアントからRhinoサービスバスを試していますが、ユーザー応答のための機能が組み込まれているかどうかはわかりません。アレクサンドリアのスマートクライアントの例では、各ユーザーはローカルキューに対して異なるIPを持つため、IServiceBus.Replyは自然に動作します。 (接続が一時的に途切れるとどうなりますか?)Rhinoサービスバスは個別のユーザーの応答を処理しますか?

同様の機能を持つWebサイトについては、すべてのユーザーに対して応答キューを作成する必要がありますか?したがって、キュー名の一部にUserIdが含まれている可能性があります。そのように返信は適切な場所に戻りますか?彼らは同じポートを共有することができ、URLだけが異なっていますか?

答えて

1

ユーザーごとに個別のキューではなく、相関IDを持つ方がはるかに理想的です。

「ユーザー」の応答に関するご質問はありませんが、何も組み込まれていません。通常、これは長いポーリングのようなもので実現できます。

+0

迅速な対応に感謝します。 Sagasだけが相関IDを持っているようです...特定の相関IDのためにクライアント側から(そしてSaga内ではなく)長いポーリングをどうやって行いますか? CorrellationIdによる購読のように。ユーザーが再びログインすると、以前に要求されたものについて何のメッセージが入ってきたのかをチェックしたい。しかし、彼らがいくつかのビューで待っている場合、特定の要求に対してまだ応答が返ってきたかどうかをポーリングしたいと考えています。 –

+0

私は、Sagasはバックエンドプロセスを実行するうえで優れた方法ですが、ESBはまだ分散型通信を意図していると考えています。私が必要とするのは、実際には非同期コマンドヘルパーです。とにかくRavenDBはストレージレイヤーなので、何かをキューのように振る舞わせることができますが、それにはいくつかの次元があります。 (厳密なキューではありません)そして、私がバックエンドのSagasのようなプロセスにプロセスを置くことを可能にするいくつかのヘルパークラスを作成してください...これは、Rhinosを休止状態にしている皆さんが前に行った方向ですか? –

+0

私はバックエンドのキュー+バスが必要だが、クライアントのキューは必要ないことを認識しました。これらのイベント/応答をデータベースに書き込むだけです。 –

0

私はこのために探していたが、時間でそれを知らなかったと思います:

http://ayende.com/blog/140289/setting-up-a-rhino-service-bus-application-part-iindash-one-way-bus

IOnewayBusにはないので、それはだ場合のトラブルサガの取得を有する第二のメッセージ、不思議を受信するが、佐賀の例ではSendの代わりにPublishを使用しているように公開していますが、おそらく間違っていると思います。 CorrelationIdsは一致します。