Service Broker – EndDialog (http://schemas.microsoft.com/SQL/ServiceBroker/EndDialog)

Service Broker – EndDialog (http://schemas.microsoft.com/SQL/ServiceBroker/EndDialog)

 

There are two ways to END CONVERSATION in SSB, one is the initiator sends EndDialog message, another is the target sends EndDialog message at first.

 

1. Target sends EndDialog message at first

The initiator can simply send the message to the target and then continue. The target will receive the message, end the conversation from the target side and this will send an EndDialog (http://schemas.microsoft.com/SQL/ServiceBroker/EndDialog ) message back to the initiator. In this way, we can associate a stored procedure to the initiator queue, and in this stored procedure we can end the initiator side of the conversation.

 

2. Initiator sends EndDialog message at first

In the other hand, the initiator can open a conversation, send a message and end the conversation. This will result in a EndDialog message being send to the TO SERVICE of the dialog, and when the TO SERVICE receives the EndDialog message, it should do an END CONVERSATION.

It’s a typical fire-and-forget message exchange pattern. The initiator does not care what will happen in the target when the message is sent out.


 ***

The Conversation doesn't end until both the FROM and TO services call END CONVERSATION.



posted @ 2007-03-21 22:47  Rickie  阅读(930)  评论(1编辑  收藏  举报