public IHttpActionResult Get() { var cacheEntry = MemoryCacher.GetValue(CACHE_KEY); if (cacheEntry == null) { var organisations = Organisations.AllIncluding(u => u.RootUser) .OrderBy(u => u.Name) .ToList() .Select(u => Mapper.Map <OrganisationDTO>(u)) .ToList(); MemoryCacher.Add(CACHE_KEY, organisations, DateTimeOffset.UtcNow.AddMinutes(1)); return(Ok(organisations)); } else { var result = (List <OrganisationDTO>)cacheEntry; return(new CachedResult <List <OrganisationDTO> >(result, TimeSpan.FromMinutes(1), this)); } }