我有一个CloudQueue的Windows Azure队列。我使用queue.GetMessage
从队列中检索消息,但它返回null。
我按如下方式初始化队列:
var setting = CloudConfigurationManager.GetSetting("DataConnectionString");
var storageAccount = CloudStorageAccount.Parse(setting);
var queueClient = storageAccount.CreateCloudQueueClient();
var queue = queueClient.GetQueueReference(RoleEnvironment.GetConfigurationSettingValue("QueueName"));
queue.CreateIfNotExists();
之后我在这个队列中添加CloudQueueMessage,如下所示:
CloudQueueMessage msg = new CloudQueueMessage(content);
queue.AddMessage(msg);
当我查看留言计数时:
queue.FetchAttributes();
int? count = queue.ApproximateMessageCount; //returns 1
我得到的数字等于1,但是当我尝试收到消息时:
var retrievedMsg = queue.GetMessage(); // returns null
我retrievedMsg
是null
。
我很困惑。我在这个方法中没有代码。但每次我检索到的消息都是空的。
有什么想法吗?
答案 0 :(得分:0)
入门的另一个选择是从肯定有效的代码开始,然后我们可以向后工作。安装最新的Azure SDK(2.5),它将直接在VS中安装一些快速入门。从VS中选择文件/新建/项目/云/ Azure存储队列。然后更新app.config文件以指向您的服务帐户。确认有效。然后它是你的代码或其他一些环境问题(多个读者等)。