public static async Task <bool> TrySerializeAsync(IBinarySerializable obj, string fileId, bool trim = false, CacheManager.DataType dataType = CacheManager.DataType.CachedData) { bool result; try { Stream arg_FC_0 = await(await ApplicationData.Current.LocalFolder.GetFolderAsync(CacheManager.GetFolderNameForDataType(dataType))).OpenStreamForWriteAsync(fileId, CreationCollisionOption.ReplaceExisting); BinaryWriter writer = new BinaryWriter(arg_FC_0); if (trim && obj is IBinarySerializableWithTrimSupport) { (obj as IBinarySerializableWithTrimSupport).WriteTrimmed(writer); } else { obj.Write(writer); } arg_FC_0.Close(); result = true; } catch (Exception var_5_140) { Logger.Instance.Error("CacheManager.TrySerializeAsync failed.", var_5_140); result = false; } return(result); }
public static bool TrySerialize(IBinarySerializable obj, string fileId, bool trim = false, CacheManager.DataType dataType = CacheManager.DataType.CachedData) { try { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); using (IsolatedStorageFile storeForApplication = IsolatedStorageFile.GetUserStoreForApplication()) { using (IsolatedStorageFileStream storageFileStream = storeForApplication.OpenFile(CacheManager.GetFilePath(fileId, dataType, "/"), FileMode.Create)) { BinaryWriter writer = new BinaryWriter((Stream)storageFileStream); if (trim && obj is IBinarySerializableWithTrimSupport) { (obj as IBinarySerializableWithTrimSupport).WriteTrimmed(writer); } else { obj.Write(writer); } } } stopwatch.Stop(); Logger.Instance.Info("CacheManager.TrySerialize succeeded for fileId = {0}, in {1} ms.", fileId, stopwatch.ElapsedMilliseconds); return(true); } catch (Exception ex) { Logger.Instance.Error("CacheManager.TrySerialize failed.", ex); } return(false); }
public static async Task <bool> TryDeserializeAsync(IBinarySerializable obj, string fileId, CacheManager.DataType dataType = CacheManager.DataType.CachedData) { bool result; try { StorageFolder rootDirectory = await ApplicationData.Current.LocalFolder.GetFolderAsync(CacheManager.GetFolderNameForDataType(dataType)); IsolatedStorageFile var_5 = IsolatedStorageFile.GetUserStoreForApplication(); try { if (!var_5.FileExists(CacheManager.GetFilePath(fileId, dataType, "/"))) { result = false; return(result); } } finally { // int num; if (/*num < 0 &&*/ var_5 != null) { var_5.Dispose(); } } Stream arg_143_0 = await rootDirectory.OpenStreamForReadAsync(fileId); BinaryReader reader = new BinaryReader(arg_143_0); obj.Read(reader); arg_143_0.Close(); result = true; } catch (Exception var_8_15F) { Logger.Instance.Error("CacheManager.TryDeserializeAsync failed.", var_8_15F); result = false; } return(result); }