Обмен сообщениями компонента Service Broker, при котором веб-служба не завершается - PullRequest
0 голосов
/ 13 октября 2011

У меня есть очередь сообщений компонента Service Broker, каждое сообщение вызывает веб-службу с помощью хранимой процедуры CLR, чтобы выполнить некоторую обработку

У меня проблема, когда разговор не заканчивается, он работает нормально, все, что ему нужносделать, это сделано, это не ошибка, но диалог никогда не заканчивается, даже если вызывается EndConversation.

Кажется, что он возвращается из вызова веб-службы и вызывает EndConversation до обработки, которую веб-служба выполняетвыполнение завершено, и поэтому разговор не заканчивается, и сообщение вызывается снова.

В любом случае можно ли остановить вызов веб-службы, возвращающийся до его завершения, чтобы затем разговор в очереди сообщений мог успешно завершиться.

Я верю, что это именно то, что происходит, потому что, если я отключаю часть работы, выполняемой вызовом веб-службы, чтобы он выполнялся быстрее, чем все работало нормально, и разговор заканчивался.также прошли через все шаги, происходящие в веб-сервисезвоните, и все работает, ошибок нет и т.д.

1 Ответ

0 голосов
/ 22 октября 2011

Может понадобиться увидеть код, особенно инициатор.Вы используете явные транзакции?Убедитесь, что у вас есть COMMIT TRANSACTION оператор после END CONVERSATION.

...