OpenTransactedWriteAsync() публичный Метод

public OpenTransactedWriteAsync ( ) : IAsyncOperation
Результат IAsyncOperation
Пример #1
0
        //public static void SaveObjToFile(object o, string url)
        //{
        //    if (File.Exists(url)) File.Delete(url);
        //    using (var tw = File.CreateText(url))
        //    using (var jtw = new JsonTextWriter(tw) { Formatting = Newtonsoft.Json.Formatting.Indented })
        //    {
        //        jsonSerializer.Serialize(jtw, o);
        //    }
        //}
        public static async void SaveStringToFile(Windows.Storage.StorageFile file, string s)
        {
            using (StorageStreamTransaction transaction = await file.OpenTransactedWriteAsync())
            {
                using (DataWriter dataWriter = new DataWriter(transaction.Stream))
                {
                    dataWriter.WriteString(s);
                    transaction.Stream.Size = await dataWriter.StoreAsync();

                    await transaction.CommitAsync();
                }
            }
        }
Пример #2
0
        private async void SaveToFileAsync(StorageFile f, string content)
        {
            try
            {
                using (StorageStreamTransaction transaction = await f.OpenTransactedWriteAsync())
                {

                    using (DataWriter dataWriter = new DataWriter(transaction.Stream))
                    {
                        dataWriter.WriteString(content);
                        transaction.Stream.Size = await dataWriter.StoreAsync(); // reset stream size to override the file
                        await transaction.CommitAsync();
                    }
                }
            }
            catch (Exception ex)
            {
                AddLog("AddToFileAsync Error: " + ex.Message);
            }
        }
Пример #3
0
        public IAsyncOperation<bool> DownloadToFileAsync(IRecord record, StorageFile file)
        {
            if (file == null)
            {
                throw new ArgumentNullException("file");
            }

            return AsyncInfo.Run(cancelToken => Task.Run(async () =>
                {
                    using (
                        StorageStreamTransaction transaction =
                            await file.OpenTransactedWriteAsync().AsTask(cancelToken))
                    {
                        return await DownloadAsync(record, transaction.Stream).AsTask(cancelToken);
                    }
                }));
        }
Пример #4
0
 public static async Task writeXmlAsync(object value, StorageFile file)
 {
     if (file != null) {
         using (var transaction = await file.OpenTransactedWriteAsync()) {
             using (var writer = new DataWriter(transaction.Stream)) {
                 writer.WriteString(writeXml(value));
                 transaction.Stream.Size = await writer.StoreAsync();
                 await transaction.CommitAsync();
             }
         }
     }
 }
Пример #5
0
        public IAsyncAction DownloadToFileAsync(StorageFile target, AccessCondition accessCondition, FileRequestOptions options, OperationContext operationContext)
        {
            CommonUtility.AssertNotNull("target", target);

            return AsyncInfo.Run(async (token) =>
            {
                using (StorageStreamTransaction transaction = await target.OpenTransactedWriteAsync().AsTask(token))
                {
                    await this.DownloadToStreamAsync(transaction.Stream, accessCondition, options, operationContext).AsTask(token);
                    await transaction.CommitAsync();
                }
            });
        }
Пример #6
0
 public virtual Task DownloadToFileAsync(StorageFile target, AccessCondition accessCondition, BlobRequestOptions options, OperationContext operationContext, CancellationToken cancellationToken)
 {
     return Task.Run(async () =>
     {
         using (StorageStreamTransaction transaction = await target.OpenTransactedWriteAsync().AsTask(cancellationToken))
         {
             await this.DownloadToStreamAsync(transaction.Stream.AsStream(), accessCondition, options, operationContext, cancellationToken);
             await transaction.CommitAsync();
         }
     });
 }
Пример #7
0
        private async void file_serialization(StorageFile temp, string str)
        {
            int n;
            if (temp.Name != "README.md")
            {
                str = "#" + title + "\n\n" + str;
            }

            n = str.IndexOf(advertisement);
            if (n < 0)
            {
                str += advertisement;
            }

            //title
            //str = "#" + title + "\n" + str;
            str = str.Replace("\n", "\n\n");
            str = str.Replace("\n\n\n\n", "\n\n");
            str = str.Replace("\n", "\r\n");
            //StorageFile temp = _file_storage.file;
            if (temp != null)
            {
                using (StorageStreamTransaction transaction = await temp.OpenTransactedWriteAsync())
                {
                    using (DataWriter data_writer = new DataWriter(transaction.Stream))
                    {
                        data_writer.WriteString(str);
                        transaction.Stream.Size = await data_writer.StoreAsync();
                        await transaction.CommitAsync();
                    }
                }
            }
        }
Пример #8
0
        public async void SaveFile()
        {
            if (Saved)
            {
                return;
            }
            var fileBuffer = await Response.Content.ReadAsBufferAsync();
            int dotIndex = FullName.LastIndexOf('.');
            var extName = FullName.Substring(dotIndex);
            var savePicker = new Windows.Storage.Pickers.FileSavePicker();
            savePicker.SuggestedStartLocation =
                Windows.Storage.Pickers.PickerLocationId.DocumentsLibrary;
            savePicker.FileTypeChoices.Add(new KeyValuePair<string, IList<string>>("file", new List<string> { extName }));

            savePicker.SuggestedFileName = FullName;

            LocalStorage = await savePicker.PickSaveFileAsync();
            var writeStream = await LocalStorage.OpenTransactedWriteAsync();
            await writeStream.Stream.WriteAsync(fileBuffer);
            await writeStream.CommitAsync();
            Saved = true;
        }