繁体   English   中英

提前阅读 ASB 预定消息

[英]Read ASB Scheduled Message ahead of time

是否可以使用ServiceBusClient提前接收预定消息? 无论他们在什么时候排队,我都想立即阅读这些消息并立即处理它们。 有一种方法可以读取延迟的ReceiveDeferredMessageAsync消息,但不能读取预定的消息。 有解决办法吗?

我知道ReceiveMessageAsync可能需要最长等待时间,所以我可以让它继续运行,但在这种情况下,我需要尽可能快地处理消息。

var asbReceiver = new ServiceBusClient(namespaceConnectionString).CreateReceiver(queueName);

var messages = await asbReceiver.ReceiveMessageAsync();

通过在创建接收器时附加执行以下操作,似乎可以直接从死信队列中读取,但没有用于调度的等效子队列。

new ServiceBusClient(namespaceConnectionString).CreateReceiver(queueName, new ServiceBusReceiverOptions { SubQueue = SubQueue.DeadLetter });

我们使用的是 azure.messaging.servicebus nuget package 版本 7.1.2。

通过在创建接收器时附加执行以下操作,似乎可以直接从死信队列中读取,但没有用于调度的等效子队列。

预定消息不存储在单独的子队列中。 至少这不像死信消息和死信队列那样公开。

可以使用调度期间分配的序列号取消调度的消息。 当消息被安排时,它是在“安排并忘记”的上下文中完成的。 当预定的消息到达并且不再有效时,应该丢弃/忽略它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM