1

分散トランザクションの一部として、ServiceBrokerキューでメッセージを送信している状況があります。明らかに、トランザクションが完了した場合にのみメッセージを送信する必要があります。

ただし、この状況では、キューの受信側がトランザクションがコミットする前にメッセージを受信し、何らかの形で登録されるようになることがわかりました。これにより、送信者がロールバックした場合にノックオンの問題が発生し、最終的にはポイズンメッセージが原因でキューが無効になります。

これは予想される動作ですか?もしそうなら、どのようにトランザクションでメッセージを送信できますか?

4

1 に答える 1

0

NOLOCKヒントでキューを読んでいる可能性はありますか?その場合、メッセージはキューに表示されますが、実際には受信できません。そして、トランザクションがコミットされた後にのみ、それを受け取ることができます。

于 2012-05-07T07:02:58.677 に答える