首页 文章

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

提问于
浏览
4

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

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

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,但从下面的屏幕截图中可以看出,订阅中有几条消息 .
enter image description here

那么为什么brokeredMessage == null?

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

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

我会感激任何想法 .

1 回答

  • 4

    我've found a solution to the problem; simply delete the subscription and re-add it. That is, however, why I couldn't阅读了这些消息 . 以下thread on stackoverflow让我相信这些消息是死信,尽管屏幕截图显示不然 .

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

相关问题