public IList <Page> GetPages() { // забираются полные объекты страниц. если будет работать медленно, можно забирать без определённых полей try { var pages = _pageGateway.Select(); var res = Mapper.Map <List <Page> >(pages); foreach (var page in res) { _heartService.Fill(page); page.CanonicalUrl = _heartService.GetCanonicalUrl(page.RelativeUrl); } return(res); } catch (Exception e) { // если возникают косяки, нельзя обваливать сайт. возвращаем пустой список. _logService.LogError(e); return(new List <Page>()); } }