コード例 #1
0
        /// <summary>
        ///     Creates a page blob asynchronously.
        /// </summary>
        /// <param name="pageBlob">Cloud page blob.</param>
        /// <param name="size">The maximum size of the page blob, in bytes.</param>
        /// <param name="accessCondition">
        ///     An <see cref="T:Microsoft.WindowsAzure.Storage.AccessCondition" /> object that represents the access conditions for the blob. If <c>null</c>, no condition is used.
        /// </param>
        /// <param name="cancellationToken">Cancellation token.</param>
        public static Task CreateAsync(
            this CloudPageBlob pageBlob,
            long size,
            AccessCondition accessCondition = null,
            CancellationToken cancellationToken = default (CancellationToken))
        {
            ICancellableAsyncResult asyncResult = pageBlob.BeginCreate(size, accessCondition, null, null, null, null);
            CancellationTokenRegistration registration = cancellationToken.Register(p => asyncResult.Cancel(), null);

            return Task.Factory.FromAsync(
                asyncResult,
                result =>
                    {
                        registration.Dispose();
                        pageBlob.EndCreate(result);
                    });
        }
コード例 #2
0
        /// <summary>
        ///     Creates the container asynchronously.
        /// </summary>
        /// <param name="blobContainer">Cloud blob container.</param>
        /// <param name="cancellationToken">Cancellation token.</param>
        public static Task CreateAsync(
            this CloudBlobContainer blobContainer,
            CancellationToken cancellationToken = default (CancellationToken))
        {
            ICancellableAsyncResult asyncResult = blobContainer.BeginCreate(null, null);
            CancellationTokenRegistration registration = cancellationToken.Register(p => asyncResult.Cancel(), null);

            return Task.Factory.FromAsync(
                asyncResult,
                result =>
                    {
                        registration.Dispose();
                        blobContainer.EndCreate(result);
                    });
        }