protected override async Task OnDeleteAsync(Uri resourceUri, DeleteRequestOptions deleteRequestOptions, CancellationToken cancellationToken) { string name = GetName(resourceUri); string path = Path.Trim('\\') + '\\'; string folder = string.Empty; string[] t = name.Split('/'); if (t.Length == 2) { folder = t[0]; name = t[1]; } if (folder != string.Empty) { folder = folder + '\\'; } string filename = path + folder + name; FileInfo fileInfo = new FileInfo(filename); if (fileInfo.Exists) { await Task.Run(() => { fileInfo.Delete(); }, cancellationToken); } }
protected override async Task OnDeleteAsync(Uri resourceUri, DeleteRequestOptions deleteRequestOptions, CancellationToken cancellationToken) { if (_onDelete != null) { await _onDelete(resourceUri, deleteRequestOptions, cancellationToken); } }
protected override async Task OnDeleteAsync(Uri resourceUri, DeleteRequestOptions deleteRequestOptions, CancellationToken cancellationToken) { string name = GetName(resourceUri); var accessCondition = (deleteRequestOptions as DeleteRequestOptionsWithAccessCondition)?.AccessCondition; CloudBlockBlob blob = GetBlockBlobReference(name); await blob.DeleteAsync(deleteSnapshotsOption : DeleteSnapshotsOption.IncludeSnapshots, accessCondition : accessCondition, options : null, operationContext : null, cancellationToken : cancellationToken); }
protected override Task OnDeleteAsync(Uri resourceUri, DeleteRequestOptions deleteRequestOptions, CancellationToken cancellationToken) { if (deleteRequestOptions is DeleteRequestOptionsWithAccessCondition deleteRequestOptionsWithAccessCondition) { // Verify the access condition of this request. var accessCondition = deleteRequestOptionsWithAccessCondition.AccessCondition; AssertAccessCondition(resourceUri, accessCondition); } Content.TryRemove(resourceUri, out _); ContentBytes.TryRemove(resourceUri, out _); ListMock.TryRemove(resourceUri, out _); return(Task.FromResult(true)); }
protected override Task OnDeleteAsync(Uri resourceUri, DeleteRequestOptions deleteRequestOptions, CancellationToken cancellationToken) { var tasks = new List <Task>(); tasks.Add(_primaryStorage.DeleteAsync(resourceUri, cancellationToken, deleteRequestOptions)); foreach (var storage in _secondaryStorage) { var secondaryResourceUri = new Uri(resourceUri.ToString() .Replace(_primaryStorage.BaseAddress.ToString(), storage.BaseAddress.ToString())); tasks.Add(storage.DeleteAsync(secondaryResourceUri, cancellationToken, deleteRequestOptions)); } return(Task.WhenAll(tasks)); }
public Task DeleteAsync(Uri resourceUri, CancellationToken cancellationToken, DeleteRequestOptions deleteRequestOptions = null) { return(_innerStorage.DeleteAsync(resourceUri, cancellationToken, deleteRequestOptions)); }
protected override Task OnDeleteAsync( Uri resourceUri, DeleteRequestOptions deleteRequestOptions, CancellationToken cancellationToken) => throw new NotImplementedException();
protected abstract Task OnDeleteAsync(Uri resourceUri, DeleteRequestOptions deleteRequestOptions, CancellationToken cancellationToken);
public async Task DeleteAsync(Uri resourceUri, CancellationToken cancellationToken, DeleteRequestOptions deleteRequestOptions = null) { TraceMethod(nameof(DeleteAsync), resourceUri); var stopwatch = Stopwatch.StartNew(); try { await OnDeleteAsync(resourceUri, deleteRequestOptions, cancellationToken); } catch (StorageException e) { WebException webException = e.InnerException as WebException; if (webException != null) { HttpStatusCode statusCode = ((HttpWebResponse)webException.Response).StatusCode; if (statusCode != HttpStatusCode.NotFound) { throw; } } else { throw; } } catch (Exception e) { TraceException(nameof(DeleteAsync), resourceUri, e); throw; } TraceExecutionTime(nameof(DeleteAsync), resourceUri, stopwatch.ElapsedMilliseconds); }