在没有Queue / SubscriptionClient的情况下使用服务总线会话?

时间:2014-04-30 04:48:08

标签: c# .net azure messaging servicebus

我试图在Service Bus .NET客户端库的顶部创建一个消息传递层,这使我能够在需要时将服务总线切换为其他内容。

在我的"接收器" class我可以使用 MessagingFactory CreateMessageReceiver 方法来获取适用于队列和订阅的通用 MessageReceiver 。我的类可以被赋予实体路径, MessagingFactory 可以找到它。但是,据我所知,这个通用接收器无法处理启用会话的队列和订阅 - 我必须使用 QueueClient SubscriptionClient 对象来接受会话。

有没有办法从会话中接收而不使用 QueueClient SubscriptionClient 对象?

1 个答案:

答案 0 :(得分:0)

MessageSession相当于MessageReceiver,因此从处理角度来看,您可以拥有一个带有MessageReceiverMessageSession的抽象。获取这些方法确实与MessagingFactory.CreateMessageReceiver方法不同,因为您需要从QueueClientSubscriptionClient调用它,因为MessagingFactory.AcceptMessageSession不会采用URI路径但实际上从整个命名空间返回会话(在内部使用Service Bus支持)。