Использование сеансов служебной шины без Queue/SubscriptionClient?
Я пытаюсь создать слой обмена сообщениями поверх клиентской библиотеки.NET служебной шины, что дает мне возможность переключать служебную шину на что-то другое, если это необходимо.
В моем классе "приемника" я могу использовать метод CreateMessageReceiver MessagingFactory, чтобы получить общий MessageReceiver, который будет работать как для очередей, так и для подписок. Моему классу можно просто указать путь к сущности, и MessagingFactory его выяснит. Однако, насколько я могу судить, этот универсальный получатель не может работать с очередями и подписками, поддерживающими сеансы, - я должен использовать объект QueueClient или SubscriptionClient для принятия сеансов.
Есть ли способ получать из сеансов без использования объекта QueueClient или SubscriptionClient?
1 ответ
MessageSession
является эквивалентом MessageReceiver
так что с точки зрения обработки вы можете иметь абстракцию, которая принимает в MessageReceiver
или MessageSession
, Способ их получения действительно отличается от MessagingFactory.CreateMessageReceiver
подход, так как вам нужно вызвать это из QueueClient
или же SubscriptionClient
поскольку MessagingFactory.AcceptMessageSession
НЕ принимает путь URI, но фактически возвращает сеансы из всего пространства имен (поддерживается на служебной шине).