Service Broker消息传递,它调用Web Service无法结束

时间:2011-10-12 23:42:42

标签: web-services service-broker

我有一个服务代理消息队列,每条消息都通过CLR存储过程调用Web服务来进行一些处理

我遇到的问题是对话没有结束,它运行正常,它需要做的所有事情都已完成,它没有错误,但即使调用了EndConversation,对话也永远不会结束。

在Web服务正在执行的处理完成之前,似乎是从Web服务调用返回并调用EndConversation,因此对话不会结束,并且会再次调用该消息。

无论如何都要阻止Web服务调用在完成之前回来,这样消息队列中的对话就可以成功结束。

我相信这就是正在发生的事情,因为如果我删除了一些Web服务调用正在进行的工作,那么它运行得比一切正常并且会话结束更快。

我还介绍了Web服务调用中发生的所有步骤,一切正常,没有错误等。

1 个答案:

答案 0 :(得分:0)

可能需要查看一些代码,尤其是启动器。 你使用显式交易吗? 确保在COMMIT TRANSACTION之后有END CONVERSATION语句。