Ejemplo n.º 1
0
        public void CloudQueueClientListQueuesSegmentedWithPrefixAPM()
        {
            CloudQueueClient client     = GenerateCloudQueueClient();
            string           prefix     = "dotnetqueuetest" + Guid.NewGuid().ToString("N");
            List <string>    queueNames = new List <string>();
            int count = 3;

            for (int i = 0; i < count; i++)
            {
                queueNames.Add(prefix + i);
            }

            using (AutoResetEvent waitHandle = new AutoResetEvent(false))
            {
                QueueContinuationToken token   = null;
                List <CloudQueue>      results = new List <CloudQueue>();
                do
                {
                    IAsyncResult result = client.BeginListQueuesSegmented(prefix, QueueListingDetails.None, null, token, null, null, ar => waitHandle.Set(), null);
                    waitHandle.WaitOne();
                    QueueResultSegment segment = client.EndListQueuesSegmented(result);
                    results.AddRange(segment.Results);
                    token = segment.ContinuationToken;
                }while (token != null);

                Assert.AreEqual <int>(0, results.Count);

                foreach (string name in queueNames)
                {
                    client.GetQueueReference(name).Create();
                }

                do
                {
                    IAsyncResult result = client.BeginListQueuesSegmented(prefix, QueueListingDetails.None, 10, token, null, null, ar => waitHandle.Set(), null);
                    waitHandle.WaitOne();
                    QueueResultSegment segment = client.EndListQueuesSegmented(result);
                    results.AddRange(segment.Results);
                    token = segment.ContinuationToken;
                }while (token != null);

                Assert.AreEqual <int>(results.Count, queueNames.Count);

                foreach (CloudQueue queue in results)
                {
                    if (queueNames.Remove(queue.Name))
                    {
                        queue.Delete();
                    }
                    else
                    {
                        Assert.Fail();
                    }
                }

                Assert.AreEqual <int>(0, queueNames.Count);
            }
        }
Ejemplo n.º 2
0
        public void CloudQueueClientListQueuesSegmentedAPM()
        {
            CloudQueueClient client = GenerateCloudQueueClient();

            string        prefix     = "dotnetqueuetest" + Guid.NewGuid().ToString("N");
            List <string> queueNames = new List <string>();
            int           count      = 3;

            for (int i = 0; i < count; i++)
            {
                string queueName = prefix + i;
                queueNames.Add(queueName);
                client.GetQueueReference(queueName).Create();
            }

            using (AutoResetEvent waitHandle = new AutoResetEvent(false))
            {
                QueueContinuationToken token   = null;
                List <CloudQueue>      results = new List <CloudQueue>();

                do
                {
                    IAsyncResult result = client.BeginListQueuesSegmented(token, ar => waitHandle.Set(), null);
                    waitHandle.WaitOne();
                    QueueResultSegment segment = client.EndListQueuesSegmented(result);
                    token = segment.ContinuationToken;
                    results.AddRange(segment.Results);
                }while (token != null);

                foreach (CloudQueue queue in results)
                {
                    if (queueNames.Remove(queue.Name))
                    {
                        client.GetQueueReference(queue.Name).Delete();
                    }
                }

                Assert.AreEqual(0, queueNames.Count);
            }
        }