我开始涉及Azure Queue(不是Service Bus)的项目。 我试图弄清楚在队列中是否有消息等待的最佳做法是什么。
AFAIK,有两种方法:
哪一个性能更好?有什么不同吗?
从结算POV中,我了解两者都有交易成本,这是正确的吗?
谢谢!
答案 0 :(得分:2)
GetMessage既快又便宜。从逻辑角度来看,GetMessage也更正确,因为消息计数将返回已被另一个读取器检索的消息以及已过期但未被删除的消息。
答案 1 :(得分:0)
我过去也使用过这段代码:
var cnnString = "the connection string";
var queueName = "the queue name";
var nsManager = NamespaceManager.CreateFromConnectionString(cnnString);
return nsManager.GetQueue(queueName).MessageCount;
那说 - 这是从大约4个月前开始的。
您需要执行此操作的任何原因(即,您是不是只消耗队列中的消息?)