public override void Store()

in dotnet/Utils/RichPath.cs [414:446]


        public override void Store(object data)
        {
            // Create new file that has same extension as this file...
            var tempFile = System.IO.Path.Combine(
                System.IO.Path.GetTempPath(),
                Guid.NewGuid().ToString() + Path.Split('/').Last());
            try
            {
                var tempLocalPath = new LocalPath(tempFile);
                tempLocalPath.Store(data);
                var blobReference = blobContainerClient.GetBlockBlobReference(Path);
                blobReference.UploadFromFile(tempFile);

                // Also store to local cache, if we have one:
                if (cacheLocation != null)
                {
                    Directory.CreateDirectory(System.IO.Path.GetDirectoryName(CachedFilePath));
                    if (File.Exists(CachedFilePath))
                    {
                        File.Delete(CachedFilePath);
                    }
                    File.Move(tempFile, CachedFilePath);
                    File.WriteAllText(CachedFileEtagPath, blobReference.Properties.ETag);
                }
            }
            finally
            {
                if (File.Exists(tempFile))
                {
                    File.Delete(tempFile);
                }
            }
        }