Я новичок в обслуживании автобусов (в частности, NServiceBus) и только что написал свою первую сагу.
Сага предназначена для получения транзакции, а затем отправки сообщений для проверки идентификатора пользователя, платежных данных, сведений о продукте и т. Д. В отношении в основном закрытой системы (сложно получить программный доступ). сейчас некоторые функции легко автоматизировать и написать обработчики, но есть несколько случаев, когда для завершения транзакции требуется ручное вмешательство, поскольку для выполнения этих задач нет доступных API. Теперь у нас будет несколько человек-агентов, работающих против этого, поэтому проблема параллелизма является проблемой, и я подумал, почему бы не каждому пользователю получить следующее сообщение по требованию и использовать параллелизм, присущий MSMQ.
Мне не удалось найти какие-либо методы на IBus в nhibernate, чтобы можно было получить следующее доступное сообщение по требованию, так как кажется, что все основано на push. Итак, я создал прототип пользовательского интерфейса, который вручную извлекает сообщения из MSMQ с использованием стандартного API .NET System.Messaging.MessageQueue и позволяет пользователю взаимодействовать с ним, а затем отправляет возврат обратно в сагу, записывая ответ обратно через IBus. Метод Send ().
Мой главный вопрос по этому поводу: нарушает ли это основополагающие принципы NServiceBus? и если нет, то есть ли сделать это через API NServiceBus?
Также вы бы справились с параллелизмом через MSMQ или через приложение UI?
Приветствия