public IActionResult Listar([FromRoute] Guid id) { Perfil perfil; bool cacheEstaConfigurado = new Func <bool>(() => { try { return(_cache.GetString("Perfil") != null); } catch { return(false); } })(); if (cacheEstaConfigurado) { string valorEmCache = _cache.GetString("Perfil"); if (string.IsNullOrWhiteSpace(valorEmCache)) { perfil = _perfilService.ObterPorId(id); _cache.SetString("Perfil", JsonConvert.SerializeObject(perfil), _cacheOptions); } else { perfil = JsonConvert.DeserializeObject <Perfil>(valorEmCache); } } else { perfil = _perfilService.ObterPorId(id); } if (perfil == null) { return(NotFound()); } return(Ok(perfil)); }