protected override IEnumerator <IAsyncResult> DeleteQueueImpl(IAccountIdentifier identity, string account, string queue, TimeSpan?timeout, RequestContext requestContext, AsyncIteratorContext <NoResults> context) { RemainingTime remainingTime = new RemainingTime(timeout); SASAuthorizationParameters sASAuthorizationParameter = new SASAuthorizationParameters() { SupportedSasTypes = SasType.AccountSas, SignedResourceType = SasResourceType.Container, SignedPermission = SASPermission.Delete }; SASAuthorizationParameters sASAuthorizationParameter1 = sASAuthorizationParameter; IAsyncResult asyncResult = this.authorizationManager.BeginCheckAccess(identity, account, null, null, PermissionLevel.Delete, sASAuthorizationParameter1, remainingTime, context.GetResumeCallback(), context.GetResumeState("QueueManager.DeleteQueueImpl")); yield return(asyncResult); this.authorizationManager.EndCheckAccess(asyncResult); IStorageAccount storageAccount = this.storageManager.CreateAccountInstance(account); storageAccount.Timeout = remainingTime; asyncResult = storageAccount.BeginDeleteQueueContainer(queue, null, context.GetResumeCallback(), context.GetResumeState("QueueManager.DeleteQueueImpl")); yield return(asyncResult); storageAccount.EndDeleteQueueContainer(asyncResult); }