public async Task <IActionResult> Index(string routeName, [FromServices] IMemoryCache cache) { if (string.IsNullOrWhiteSpace(routeName)) { return(BadRequest()); } var cacheKey = $"page-{routeName.ToLower()}"; var pageResponse = await cache.GetOrCreateAsync(cacheKey, async entry => { var response = await _customPageService.GetPageAsync(routeName); return(response); }); if (pageResponse.IsSuccess) { if (pageResponse.Item == null) { return(NotFound()); } return(View(pageResponse.Item)); } return(ServerError()); }
public async Task <IActionResult> Index(string slug) { if (string.IsNullOrWhiteSpace(slug)) { return(BadRequest()); } var cacheKey = $"page-{slug.ToLower()}"; var pageResponse = await _cache.GetOrCreateAsync(cacheKey, async entry => { var response = await _customPageService.GetPageAsync(slug); return(response); }); if (pageResponse.IsSuccess) { if (pageResponse.Item == null) { Logger.LogWarning($"Page not found. {nameof(slug)}: '{slug}'"); return(NotFound()); } return(View(pageResponse.Item)); } return(ServerError()); }