Использование сеансов служебной шины без Queue/SubscriptionClient?

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

В моем классе "приемника" я могу использовать метод CreateMessageReceiver MessagingFactory, чтобы получить общий MessageReceiver, который будет работать как для очередей, так и для подписок. Моему классу можно просто указать путь к сущности, и MessagingFactory его выяснит. Однако, насколько я могу судить, этот универсальный получатель не может работать с очередями и подписками, поддерживающими сеансы, - я должен использовать объект QueueClient или SubscriptionClient для принятия сеансов.

Есть ли способ получать из сеансов без использования объекта QueueClient или SubscriptionClient?

1 ответ

Решение

MessageSession является эквивалентом MessageReceiver так что с точки зрения обработки вы можете иметь абстракцию, которая принимает в MessageReceiver или MessageSession, Способ их получения действительно отличается от MessagingFactory.CreateMessageReceiver подход, так как вам нужно вызвать это из QueueClient или же SubscriptionClient поскольку MessagingFactory.AcceptMessageSession НЕ принимает путь URI, но фактически возвращает сеансы из всего пространства имен (поддерживается на служебной шине).

Другие вопросы по тегам