我试图在Service Bus .NET客户端库的顶部创建一个消息传递层,这使我能够在需要时将服务总线切换为其他内容。
在我的"接收器" class我可以使用 MessagingFactory 的 CreateMessageReceiver 方法来获取适用于队列和订阅的通用 MessageReceiver 。我的类可以被赋予实体路径, MessagingFactory 可以找到它。但是,据我所知,这个通用接收器无法处理启用会话的队列和订阅 - 我必须使用 QueueClient 或 SubscriptionClient 对象来接受会话。
有没有办法从会话中接收而不使用 QueueClient 或 SubscriptionClient 对象?
答案 0 :(得分:0)
MessageSession
相当于MessageReceiver
,因此从处理角度来看,您可以拥有一个带有MessageReceiver
或MessageSession
的抽象。获取这些方法确实与MessagingFactory.CreateMessageReceiver
方法不同,因为您需要从QueueClient
或SubscriptionClient
调用它,因为MessagingFactory.AcceptMessageSession
不会采用URI路径但实际上从整个命名空间返回会话(在内部使用Service Bus支持)。