- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个小型应用程序,它应该列出我的 Azure 队列中的项目数量。当我在控制台应用程序中使用 FetchAttributesAsync 和 ApproximateMessageCount 时,在调用 FetchAttributesAsync(或 FetchAttributes)后,我在 ApproximateMessageCount 中获得了预期结果。
当我在通用 Windows 应用程序中使用相同的内容时,在调用 FetchAttributesAsync 后,ApproximateMessageCount 仍停留在 null
(FetchAttributes 在那里不可用)。
控制台代码:
CloudStorageAccount _account;
if (CloudStorageAccount.TryParse(_connectionstring, out _account))
{
var queueClient = _account.CreateCloudQueueClient();
Console.WriteLine(" {0}", _account.QueueEndpoint);
Console.WriteLine(" ----------------------------------------------");
var queues = (await queueClient.ListQueuesSegmentedAsync(null)).Results;
foreach (CloudQueue q in queues)
{
await q.FetchAttributesAsync();
Console.WriteLine($" {q.Name,-40} {q.ApproximateMessageCount,5}");
}
}
通用应用程序代码:
IEnumerable<CloudQueue> queues;
CloudStorageAccount _account;
CloudQueueClient queueClient;
CloudStorageAccount.TryParse(connectionstring, out _account);
queueClient = _account.CreateCloudQueueClient();
queues = (await queueClient.ListQueuesSegmentedAsync(null)).Results;
foreach (CloudQueue q in queues)
{
await q.FetchAttributesAsync();
var count = q.ApproximateMessageCount;
// count is always null here!!!
}
我尝试了各种替代方案,例如 Wait() 等可等待项。无论我尝试什么,ApproximateMessageCount
都会保持 null
并确定:-(。
我错过了什么吗?
最佳答案
我认为您已经发现存储客户端库中的一个错误。我在 Github 上查找了代码,本质上不是读取“近似消息计数” header 的值,而是读取“租赁状态” header 的值。
在 QueueHttpResponseParsers.cs
类:
public static string GetApproximateMessageCount(HttpResponseMessage response)
{
return response.Headers.GetHeaderSingleValueOrDefault(Constants.HeaderConstants.LeaseStatus);
}
这个方法应该是:
public static string GetApproximateMessageCount(HttpResponseMessage response)
{
return response.Headers.GetHeaderSingleValueOrDefault(Constants.HeaderConstants.ApproximateMessagesCount);
}
我已为此提交了一个错误:https://github.com/Azure/azure-storage-net/issues/155 .
关于azure - 在通用 Windows 应用程序中调用 FetchAttributesAsync 后 ApproximateMessageCount 始终为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31788798/
我正在制作一个小型应用程序,它应该列出我的 Azure 队列中的项目数量。当我在控制台应用程序中使用 FetchAttributesAsync 和 ApproximateMessageCount 时,
我是一名优秀的程序员,十分优秀!