一部の会話が終了せず、CONVERSING 状態のままになっていることに気付きました。奇妙なことに、キューは一度に 1 つのメッセージのみを処理するように構成されています。ただし、実際には、CONVERSING 状態の会話が 2 つあります。
私が使用しているものの 1 つは、単一のキューとサービスです。これは、通常のサービス ブローカーの実装とは異なります (対話ではなく独白のようにします)。アクティベーション SP を次のように開始します。
RECEIVE TOP(1)
@Handle = conversation_handle,
@MsgTypeName = message_type_name
FROM [//MyQueue]
IF (@@ROWCOUNT = 0)
RETURN
ELSE IF ((@MsgTypeName is null) or (@Handle is null))
RETURN
ELSE IF (@MsgTypeName != '//MyRequest')
BEGIN
END CONVERSATION @Handle
RETURN
END