Sql Server Service Broker: как структурировать беседы для простого сценария очереди?

Я начинающий Sql Server Service Broker и пытаюсь найти лучший способ настроить Service Broker для (на первый взгляд) простого варианта использования: я хочу создать простую рабочую очередь, в которой одно приложение помещает рабочие элементы в очередь и отдельное приложение выбирает рабочие элементы из этой очереди и обрабатывает их. Первому приложению не нужно получать сообщения о состоянии от второго. Я хочу, чтобы очередь находилась в одном экземпляре Sql Server.

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

Each time I enqueue a work item, I begin a new conversation. So each conversation ends up having exactly one message in it. At deployment time, I manually create a single infinite-lifespan conversation. When it's time to enqueue a work item, I always send it as part of that single conversation.

Каковы будут последствия перехода на любой из этих маршрутов?

Кроме того, в первом случае мне кажется, что мне нужно выполнить END CONVERSATION, чтобы Sql Server мог очистить ресурсы внутри. Есть ли какое-нибудь руководство для того, когда было бы правильное место, чтобы поместить их в? (Или, возможно, в конечном итоге было бы лучше рассчитывать на то, что время разговора истекло?)

Ответы на вопрос(2)

Ваш ответ на вопрос