private CloudBlockBlob CreateCloudBlockBlob(CloudStorageFileUpload file)
        {
            if (string.IsNullOrWhiteSpace(Settings.AzureStorageAccountConnectionString))
            {
                throw new ArgumentException("Storage account connection string not set in web.config! (key=AzureStorageAccount)");
            }

            CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(Settings.AzureStorageAccountConnectionString);
            CloudBlobClient     cloudBlobClient     = cloudStorageAccount.CreateCloudBlobClient();

            var cloudBlobContainer = cloudBlobClient.GetContainerReference(ContainerName);

            cloudBlobContainer.CreateIfNotExists(BlobContainerPublicAccessType.Off);

            string fileId = string.Format("{0}{1}", Guid.NewGuid().ToString(), Path.GetExtension(file.RealFileName));

            CloudBlockBlob cloudblob = cloudBlobContainer.GetBlockBlobReference(fileId);

            cloudblob.Properties.ContentType = file.ContentType;
            cloudblob.Metadata["filename"]   = file.RealFileName;
            cloudblob.Metadata["length"]     = file.SizeInBytes.ToString();

            _log.Info("Create CloudBlockBlob...Filename={0};FileId={1};Container={2}", file.RealFileName, fileId, cloudBlobContainer.Uri);

            return(cloudblob);
        }
        // Lab ---------------------------------------------------------------------------------------------------------------
        public async Task <CloudStorageFileUploadResult> UploadAsync(CloudStorageFileUpload file)
        {
            if (file == null)
            {
                throw new ArgumentNullException(nameof(file));
            }

            return(await Task.FromResult(new CloudStorageFileUploadResult()));
        }