0

Service Broker のバックエンド サービスとやり取りする同じアプリの 2 つのインスタンスがあるとします。各インスタンスは、開始した会話のみを処理し、残りを無視することをどのように知ることができますか? 私の記憶が正しければ、すべての RECEIVE によってキューからメッセージが削除されます。

次に例を示します。

-- Assume the SquareService return the square of the number sent to it

-- Instance 1
BEGIN DIALOG @Conversation1
    FROM SERVICE InitService
    TO SERVICE 'SquareService'
    ON CONTRACT (MyContract)
    WITH ENCRYPTION = OFF;

    SEND ON CONVERSATION @Conversation1 MESSAGE TYPE MyMessageType('1');

-- Instance 2
BEGIN DIALOG @Conversation2
    ...;
    SEND ON CONVERSATION @Conversation2 MESSAGE TYPE MyMessageType('2');

RECEIVEインスタンス 1 が正しく 1 を取得し、インスタンス 2 が正しく 4 を返すようにするには、誰がステートメントを作成すればよいでしょうか?

4

2 に答える 2

1

既に会話グループを使用しています。メッセージを受信するときのニーズにはこれで十分ではありませんか? -> GET CONVERSATION GROUP とRECEIVEを一緒に使用すると、 ここで詳細を読むことができます。ブローカー会話グループ

于 2013-11-09T18:46:51.500 に答える