public T GetObject <T>(string key) where T : class { object value; if (StoreCache.TryGetValue(key, out value)) { if (value is T) { return(value as T); } } var valueTyped = Store.Get <T>(key); StoreCache.TryAdd(key, valueTyped); ObjectTracker.AttachObject(valueTyped); return(valueTyped); }
public ObjectMaterializer(ObjectTracker tracker) { Store = KVStore.Factory.Get(); ObjectTracker = tracker; StoreCache = new ConcurrentDictionary <string, object>(); }