private bool SaveSiteContents(string domain, SiteContents siteContents, bool overwrite) { if (!SiteInfo.IsValidDomain(domain)) { return(false); } var container = GetContentsBlobContainer(); var blob = container.GetBlockBlobReference(domain + _siteFileExt); if (!overwrite && blob.Exists()) { return(false); } try { blob.UploadText(siteContents.SerializeToJson()); } catch { return(false); } return(true); }
private bool SaveSiteContentsToFile(string domain, SiteContents siteContents, bool overwrite) { if (!SiteInfo.IsValidDomain(domain)) { return(false); } string fileName = GetFullSiteContentsFileName(domain); if (!overwrite && File.Exists(fileName)) { return(false); } int retryCount = 3; do { try { using (var stream = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.None)) { using (var writer = new StreamWriter(stream)) { writer.Write(siteContents.SerializeToJson()); } } return(true); } catch (IOException) { retryCount--; if (retryCount == 0) { return(false); } Thread.Sleep(2); } catch { return(false); } }while (retryCount > 0); return(true); }