Это веб-приложение, работающее ASP. NET Core MVC 2.1, которое было запущено как приложение ASP. NET MVC 3 и развивалось в течение 5 лет.
Я определил службы для различных бизнес-процессов, но в какой-то момент многие из этих служб зависят друг от друга. Конечным результатом являются службы с множеством зависимостей и некоторыми циклическими ссылками.
Например, служба A выполняет действие, а затем запускает другое действие в службе B. И затем конечный результат должен быть отправлен обратно пользователю , Конечно, это упрощение.
В некоторых случаях я использую Azure Service Bus для разделения процессов. Таким образом, служба A выполняет действие, а затем ставит в очередь действие, которое запускает процесс в службе B. Затем служба B отправляет HTTP-запрос в веб-приложение, чтобы уведомить пользователей. Этот подход сработал хорошо, но я не уверен, стоит ли применять его в масштабе всей системы. Это, безусловно, добавляет сложности, поскольку отладка не так проста.
Я знаю, что кто-то скажет «использовать микросервисы», но это большое изменение, и на данный момент мне нужна одна база данных для всех процессов.
Я обнаружил, что шаблон запрос-ответ, примененный к Azure Service Bus, действительно полезен, но я не смог найти примеры кода. Документация находится здесь: https://docs.microsoft.com/en-us/azure/service-bus-messaging/message-sessions#request -образный шаблон
Любые рекомендации приветствуются:)