private bool HandleWebException(ICloudBlob blob, StorageException err) { if (err.RequestInformation.HttpStatusCode == 404 || err.RequestInformation.HttpStatusCode == 409) { _azureDirectory.EnsureContainer(); using (var stream = new MemoryStream()) using (var writer = new StreamWriter(stream)) { writer.Write(_lockFile); blob.UploadFromStream(stream); } return(true); } return(false); }
public override bool Obtain() { var blob = _azureDirectory.BlobContainer.GetBlockBlobReference(_lockFile); var exists = blob.Exists(); if (exists) { return(false); } _azureDirectory.EnsureContainer(); using (var stream = new MemoryStream()) using (var writer = new StreamWriter(stream)) { writer.Write(_lockFile); blob.UploadFromStream(stream); } return(true); }