コード例 #1
0
        protected virtual void Dispose(bool disposing)
        {
            if (!disposedValue)
            {
                if (disposing)
                {
                    // dispose managed state (managed objects).
                    if (_Request != null)
                    {
                        try
                        {
                            _Client.AbortMultipartUpload(_Request);
                            _Request = null;
                        }
#pragma warning disable CA1031 // Do not catch general exception types
                        catch (Exception)
#pragma warning restore CA1031 // Do not catch general exception types
                        {
                            // No Permission, Leave the files there.
                        }
                    }
                }

                disposedValue = true;
            }
        }
コード例 #2
0
        private static void AbortMultipartUploadOfBucket(string bucketName)
        {
            var multipartUploads          = new Dictionary <string, string>();
            MultipartUploadListing result = null;
            string nextKeyMarker          = string.Empty;
            string nextUploadIdMarker     = string.Empty;

            do
            {
                var listUploadRequest = new ListMultipartUploadsRequest(bucketName)
                {
                    KeyMarker      = nextKeyMarker,
                    UploadIdMarker = nextUploadIdMarker,
                    MaxUploads     = 100
                };
                result = client.ListMultipartUploads(listUploadRequest);

                foreach (var upload in result.MultipartUploads)
                {
                    multipartUploads[upload.UploadId] = upload.Key;
                }

                nextKeyMarker      = result.NextKeyMarker;
                nextUploadIdMarker = result.NextUploadIdMarker;

                foreach (var uploadId in multipartUploads.Keys)
                {
                    client.AbortMultipartUpload(new AbortMultipartUploadRequest(bucketName, multipartUploads[uploadId], uploadId));
                }

                multipartUploads.Clear();
            } while (result.IsTruncated);
        }