Я рассматриваю возможность использования Service Broker для обмена сообщениями между двумя приложениями .NET, где одно приложение должно надежно отправлять сообщения другому.У меня есть довольно хорошее представление о том, как это выглядит на стороне инициатора.
Однако потребительскому приложению необходимо загрузить сообщения из очереди, выполнить некоторую обработку, а затем подтвердить, что обработка прошла хорошо.Обработка может быть неудачной, и в этом случае мне нужно повторить сообщение.Мне также нужно было бы сохранить все сообщения, которые были обработаны для целей истории.
Насколько я могу судить, сообщение удаляется из очереди, когда я делаю ПРИЕМ.Так что же делать потребительскому приложению в случае сбоя?Снова отправить сообщение в очередь?Могу ли я пометить сообщение как "в процессе обработки", а затем удалить его после успешного завершения моей задачи?
Как бы я смоделировал это с помощью Service Broker?