从Azure主题接收消息产生null,主题具有未读消息

昨天我能够重复阅读我自己创建的Azure Service Bus主题订阅中的消息。 然而,今天,虽然使用与昨天相同的代码,但是尽管订阅的消息计数远高于0,但所有消息都为空。让我详细说明:

按照MSDN网站上有关如何从订阅中读取消息的说明 ,我使用以下内容从订阅客户端读取消息:

var tokenProvider = TokenProvider.CreateSharedSecretTokenProvider("MySubscriber","MyKey"); var serviceUri = ServiceBusEnvironment.CreateServiceUri("sb", "MyNamespace", string.Empty); var messagingFactory = MessagingFactory.Create(serviceUri, tokenProvider); var subscriptionClient = messagingFactory.CreateSubscriptionClient("MyTopicName", "MySubscriptionName", ReceiveMode.PeekLock); var brokeredMessage = subscriptionClient.Receive(); 

今天,brokeredMessage变量始终为null,但从下面的屏幕截图中可以看出,订阅中有几条消息。 在此处输入图像描述

那么为什么brokeredMessage == null?

已在管理门户中设置主题的设置,其中包括:默认消息生存时间= 1小时,重复检测历史记录= 10分钟,未发布发布前过滤消息,主题状态=启用,以及没有共享访问策略。

同样,对于订阅,设置为:默认消息生存时间= 10分钟,锁定持续时间= 5秒,最大传送计数= 10,主题订阅状态=启用,并且没有检查有关移动消息的复选框。

我会感激任何想法。

我找到了问题的解决方案; 只需删除订阅并重新添加即可。 然而,这就是为什么我无法阅读这些消息。 尽管屏幕截图显示不同,但stackoverflow上的以下线程让我相信消息是死信。

如果我找出问题的原因,我会更新这个答案。

Interesting Posts