Je remarque que certaines conversations ne sont pas fermées et restent en état CONVERSANT. La chose étrange est, la file d'attente est configurée pour traiter seulement 1 message à la fois. En pratique, cependant, il y a deux conversations en état CONVERSANT, une qui fait vraiment du travail, et une autre qui semble être bloquée. Une chose que j'utilise est une seule file d'attente et un seul service, qui diffère des implémentations habituelles du courtier de services (ce qui ressemble plus à un monologue qu'à un dialogue). Je commence la SP d'activation avec:Les conversations du service Broker ne sont pas fermées (rester dans l'état CONVERSANT)
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
Il sera difficile de vous aider si vous ne fournissez pas plus de code (je ne parle pas de la logique métier, mais des parties liées au courtier) ainsi que des commandes DDL que vous avez utilisées pour tout configurer. –