/// <summary> /// Creates a queue with the given parameters. /// </summary> /// <param name="queueName">Name of the queue.</param> /// <param name="queueSettings">Parameters of the queue.</param> /// <returns>Created queue.</returns> IAsyncOperation<QueueInfo> IServiceBusService.CreateQueueAsync(string queueName, QueueSettings queueSettings) { if (queueName == null) { throw new ArgumentNullException("queueName"); } if (queueSettings == null) { throw new ArgumentNullException("queueSettings"); } return CreateQueueAsync(queueName, queueSettings); }
/// <summary> /// Creates a queue with the given parameters. /// </summary> /// <param name="queueName">Name of the queue.</param> /// <param name="queueSettings">Parameters of the queue.</param> /// <returns>Created queue.</returns> IAsyncOperation<QueueInfo> CreateQueueAsync(string queueName, QueueSettings queueSettings) { Uri uri = new Uri(ServiceConfig.ServiceBusUri, queueName); HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Put, uri); return Task.Factory .StartNew(() => SetBody(request, queueSettings)) .ContinueWith<HttpResponseMessage>(tr => { return Channel.SendAsync(request).Result; }, TaskContinuationOptions.OnlyOnRanToCompletion) .ContinueWith<QueueInfo>(tr => { return GetQueue(tr.Result); }, TaskContinuationOptions.OnlyOnRanToCompletion) .AsAsyncOperation<QueueInfo>(); }