Я делаю небольшое приложение, в котором должно быть указано количество элементов в моих очередях Azure. Когда я использую FetchAttributesAsync и ApproximateMessageCount в консольном приложении, я получаю ожидаемый результат в ApproximateMessageCount после вызова FetchAttributesAsync (или FetchAttributes).
Когда я использую то же самое в универсальном приложении для Windows, ApproximateMessageCount остается застрявшим на null
после вызова FetchAttributesAsync (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
:-(.
Я что-то упускаю?