Esempio n. 1
0
 private XDocument GetSitemapContent(HttpRequestBase contextRequest)
 {
     if (!_sitemapCacheProvider.IsCached || ResetCache)
     {
         var baseUrl = contextRequest.Url?.GetLeftPart(UriPartial.Authority);
         if (!string.IsNullOrWhiteSpace(baseUrl) && Uri.IsWellFormedUriString(baseUrl, UriKind.Absolute))
         {
             var authorityUri = new Uri(baseUrl, UriKind.Absolute);
             var document     = _documentBuilder.BuildSitemapXmlDocument(_contentProvider.GetSitemapUrls(authorityUri));
             if (_contentProvider.Cacheable)
             {
                 _sitemapCacheProvider.Add(document, _contentProvider.CacheUntil);
                 ResetCache = false;
             }
             return(document);
         }
     }
     return(_sitemapCacheProvider.Get());
 }