Windows Azure队列GetMessage返回null

时间:2014-03-25 07:18:36

标签: c# azure azure-storage azure-queues

我有一个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

retrievedMsgnull

我很困惑。我在这个方法中没有代码。但每次我检索到的消息都是空的。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

入门的另一个选择是从肯定有效的代码开始,然后我们可以向后工作。安装最新的Azure SDK(2.5),它将直接在VS中安装一些快速入门。从VS中选择文件/新建/项目/云/ Azure存储队列。然后更新app.config文件以指向您的服务帐户。确认有效。然后它是你的代码或其他一些环境问题(多个读者等)。