1

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

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

有任何想法吗?

4

1 回答 1

0

入门的另一种选择是从绝对有效的代码开始,然后我们可以向后工作。安装最新的 Azure SDK (2.5),它会直接在 VS 中安装一些快速入门。从 VS 中选择 File / New / Project / Cloud / Azure Storage Queues。然后更新 app.config 文件以指向您的服务帐户。确认有效。然后是您的代码或其他一些环境问题(多个阅读器等)。

于 2015-02-03T23:55:29.250 回答