【c#】localStorage做缓存
c# LocalStorage做缓存
1、localStorage做缓存
1.1 LocalStorage做缓存Cache
internal class Cache
{
private LocalStorage localStorage;
public Cache(string domain = "...")
{
localStorage = new LocalStorage(domain);
}
public object this[string key]
{
get
{
return localStorage[key];
}
set
{
if (localStorage.ContainsKey(key))
{
localStorage.Remove(key);
}
localStorage[key] = value;
localStorage.Save();
localStorage.ReLoad();
}
}
public IList<string> Keys
{
get
{
IList<string> keys = new List<string>();
foreach(string key in localStorage.Keys)
{
keys.Add(key);
}
return keys;
}
}
public bool Contains(string key)
{
if (key == null || key.Length == 0)
return false;
return localStorage.ContainsKey(key);
}
public object Remove(string key)
{
if (key == null || key.Length == 0)
return false;
if (localStorage.ContainsKey(key))
{
object ret = localStorage[key];
localStorage.Remove(key);
return ret;
}
return null;
}
}
1.2 LocalStorage
public class LocalStorage : Hashtable
{
public LocalStorage(string domain = "app_yz");
protected LocalStorage(SerializationInfo info, StreamingContext context);
public override void Add(object key, object value);
public void LoadData();
public void ReLoad();
public void Save();
}