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; } }
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); }