コード例 #1
0
 public PageCollectionCreateController(IPageService pageService, IPageCollectionService pageCollectionService, IPageLinkGenerator pageLinkGenerator, IPageMetadataManager pageMetadataManager)
 {
     this.pageService           = pageService ?? throw new ArgumentNullException(nameof(pageService));
     this.pageCollectionService = pageCollectionService ?? throw new ArgumentNullException(nameof(pageCollectionService));
     this.pageLinkGenerator     = pageLinkGenerator ?? throw new ArgumentNullException(nameof(pageLinkGenerator));
     this.pageMetadataManager   = pageMetadataManager ?? throw new ArgumentNullException(nameof(pageMetadataManager));
 }
コード例 #2
0
 public PageSeoController(IPageService pageService, IPageLinkGenerator pageLinkGenerator)
 {
     this.pageService       = pageService ?? throw new ArgumentNullException(nameof(pageService));
     this.pageLinkGenerator = pageLinkGenerator ?? throw new ArgumentNullException(nameof(pageLinkGenerator));
 }
コード例 #3
0
 public HyperLinkTagHelper(IPageLinkGenerator pageLinkGenerator, IPageService pageService, HtmlEncoder htmlEncoder)
 {
     this.pageLinkGenerator = pageLinkGenerator ?? throw new ArgumentNullException(nameof(pageLinkGenerator));
     this.pageService       = pageService ?? throw new ArgumentNullException(nameof(pageService));
     this.htmlEncoder       = htmlEncoder ?? throw new ArgumentNullException(nameof(htmlEncoder));
 }
コード例 #4
0
        public async Task <IActionResult> SitemapXmlAsync([FromServices] IPageService pageService, [FromServices] IPageLinkGenerator pageLinkGenerator)
        {
            if (pageService == null)
            {
                throw new ArgumentNullException(nameof(pageService));
            }
            if (pageLinkGenerator == null)
            {
                throw new ArgumentNullException(nameof(pageLinkGenerator));
            }

            var request = Request;

            var dateNow = DateTime.Now.ToString("s");
            var model   = new SitemapModel {
                Urls = new List <SitemapUrl>()
            };

            var pages = await pageService.GetPublishedPagesAsync(HttpContext.RequestAborted);

            foreach (var page in pages)
            {
                var url = await pageLinkGenerator.GetUriAsync(page);

                model.Urls.Add(new SitemapUrl
                {
                    Location   = url,
                    LastMod    = dateNow,
                    ChangeFreq = "daily",
                    Priority   = "1"
                });
            }

            model.Urls = model.Urls.OrderBy(it => it.Location).ToList();
            model.Urls[0].ChangeFreq = "daily";
            model.Urls[0].Priority   = "1";

            return(new XmlResult(model));
        }