126 lines
2.7 KiB
C#
126 lines
2.7 KiB
C#
|
|
|
|
using System;
|
|
using System.IO;
|
|
using System.IO.IsolatedStorage;
|
|
using System.Runtime.Serialization;
|
|
using System.Runtime.Serialization.Formatters.Binary;
|
|
|
|
namespace Ease.Core.Utility
|
|
{
|
|
//public sealed class ClientStorage
|
|
//{
|
|
// private static readonly object SyncRoot = new object();
|
|
|
|
// private static IsolatedStorageFile _store = IsolatedStorageFile.GetUserStoreForAssembly();
|
|
|
|
// public static object GetData(string path)
|
|
// {
|
|
// Stream stream = null;
|
|
// try
|
|
// {
|
|
// stream = new IsolatedStorageFileStream(path, FileMode.Open, _store);
|
|
// if (stream == null)
|
|
// return null;
|
|
|
|
// IFormatter formatter = new BinaryFormatter();
|
|
// return formatter.Deserialize(stream);
|
|
// }
|
|
// catch(Exception)
|
|
// {
|
|
// return null;
|
|
// }
|
|
// finally
|
|
// {
|
|
// if (stream != null)
|
|
// stream.Close();
|
|
// }
|
|
// }
|
|
|
|
// public static void SetData(string path, object value)
|
|
// {
|
|
// lock (SyncRoot)
|
|
// {
|
|
// if (value == null)
|
|
// {
|
|
// try
|
|
// {
|
|
// if (_store.GetFileNames(path).Length > 0)
|
|
// {
|
|
// _store.DeleteFile(path);
|
|
// return;
|
|
// }
|
|
// }
|
|
// catch (DirectoryNotFoundException)
|
|
// {
|
|
// return;
|
|
// }
|
|
// }
|
|
|
|
// Stream stream = null;
|
|
// try
|
|
// {
|
|
// string[] dirs = path.Split('/');
|
|
// if (dirs.Length > 1)
|
|
// {
|
|
// string dir = string.Join("/", dirs, 0, dirs.Length - 1);
|
|
// _store.CreateDirectory(dir);
|
|
// }
|
|
// stream = new IsolatedStorageFileStream(path, FileMode.OpenOrCreate, _store);
|
|
// if (stream != null)
|
|
// {
|
|
// IFormatter formatter = new BinaryFormatter();
|
|
// formatter.Serialize(stream, value);
|
|
// }
|
|
// }
|
|
// catch (Exception) {}
|
|
// finally
|
|
// {
|
|
// if (stream != null)
|
|
// stream.Close();
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// public static bool Contains(string path)
|
|
// {
|
|
// try
|
|
// {
|
|
// return _store.GetFileNames(path).Length > 0;
|
|
// }
|
|
// catch (DirectoryNotFoundException)
|
|
// {
|
|
// return false;
|
|
// }
|
|
// }
|
|
|
|
// public static void Remove(string path)
|
|
// {
|
|
// lock (SyncRoot)
|
|
// {
|
|
// if (path.EndsWith("/"))
|
|
// {
|
|
// foreach (string subDir in _store.GetDirectoryNames(path))
|
|
// {
|
|
// Remove(subDir);
|
|
// }
|
|
// }
|
|
// try
|
|
// {
|
|
// foreach (string file in _store.GetFileNames(path))
|
|
// {
|
|
// _store.DeleteFile(Path.Combine(Path.GetDirectoryName(path), file));
|
|
// }
|
|
// }
|
|
// catch (DirectoryNotFoundException) { }
|
|
// }
|
|
// }
|
|
|
|
// public static void ClearStorage()
|
|
// {
|
|
// _store.Remove();
|
|
// _store = IsolatedStorageFile.GetUserStoreForDomain();
|
|
// }
|
|
//}
|
|
}
|