public T GetOrCreate <T>(string key, Func <T> factory) { var local = _memoryCache.GetOrCreate(key, entry => { entry.AbsoluteExpiration = DateTime.UtcNow.AddSeconds(MEMORY_TTL_SECONDS); return(GetFromDistributedCache(key, factory)); }); return(_converter.Deserialize <CacheWrapper <T> >(local).Data); }