Updates content-type to "application/xml"
removes sitemap cache from previous commits.
This commit is contained in:
@ -25,28 +25,23 @@ namespace Oqtane.Pages
|
|||||||
private readonly IPageRepository _pages;
|
private readonly IPageRepository _pages;
|
||||||
private readonly IPageModuleRepository _pageModules;
|
private readonly IPageModuleRepository _pageModules;
|
||||||
private readonly IModuleDefinitionRepository _moduleDefinitions;
|
private readonly IModuleDefinitionRepository _moduleDefinitions;
|
||||||
private readonly ISettingRepository _settings;
|
|
||||||
private readonly IUserPermissions _userPermissions;
|
private readonly IUserPermissions _userPermissions;
|
||||||
private readonly ILogManager _logger;
|
private readonly ILogManager _logger;
|
||||||
private readonly Alias _alias;
|
private readonly Alias _alias;
|
||||||
private readonly IMemoryCache _memoryCache;
|
private string sitemapXml;
|
||||||
|
|
||||||
public SitemapModel(IServiceProvider serviceProvider, IPageRepository pages, IPageModuleRepository pageModules, IModuleDefinitionRepository moduleDefinitions, ISettingRepository settings, IUserPermissions userPermissions, IUrlMappingRepository urlMappings, ISyncManager syncManager, ILogManager logger, ITenantManager tenantManager, IMemoryCache memoryCache)
|
public SitemapModel(IServiceProvider serviceProvider, IPageRepository pages, IPageModuleRepository pageModules, IModuleDefinitionRepository moduleDefinitions, IUserPermissions userPermissions, IUrlMappingRepository urlMappings, ISyncManager syncManager, ILogManager logger, ITenantManager tenantManager)
|
||||||
{
|
{
|
||||||
_serviceProvider = serviceProvider;
|
_serviceProvider = serviceProvider;
|
||||||
_pages = pages;
|
_pages = pages;
|
||||||
_pageModules = pageModules;
|
_pageModules = pageModules;
|
||||||
_moduleDefinitions = moduleDefinitions;
|
_moduleDefinitions = moduleDefinitions;
|
||||||
_settings = settings;
|
|
||||||
_userPermissions = userPermissions;
|
_userPermissions = userPermissions;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_alias = tenantManager.GetAlias();
|
_alias = tenantManager.GetAlias();
|
||||||
_memoryCache = memoryCache;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public IActionResult OnGet()
|
public IActionResult OnGetAsync()
|
||||||
{
|
|
||||||
if (!_memoryCache.TryGetValue("Sitemap", out string sitemapXml))
|
|
||||||
{
|
{
|
||||||
var sitemap = new List<Sitemap>();
|
var sitemap = new List<Sitemap>();
|
||||||
|
|
||||||
@ -71,7 +66,6 @@ namespace Oqtane.Pages
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
pageModule.Module.Settings = _settings.GetSettings(EntityNames.Module, pageModule.ModuleId).ToDictionary(x => x.SettingName, x => x.SettingValue);
|
|
||||||
var moduleobject = ActivatorUtilities.CreateInstance(_serviceProvider, moduletype);
|
var moduleobject = ActivatorUtilities.CreateInstance(_serviceProvider, moduletype);
|
||||||
var urls = ((ISitemap)moduleobject).GetUrls(_alias.Path, page.Path, pageModule.Module);
|
var urls = ((ISitemap)moduleobject).GetUrls(_alias.Path, page.Path, pageModule.Module);
|
||||||
foreach (var url in urls)
|
foreach (var url in urls)
|
||||||
@ -115,8 +109,7 @@ namespace Oqtane.Pages
|
|||||||
}
|
}
|
||||||
// Cache the sitemap XML
|
// Cache the sitemap XML
|
||||||
sitemapXml = builder.ToString();
|
sitemapXml = builder.ToString();
|
||||||
_memoryCache.Set("Sitemap", sitemapXml, TimeSpan.FromHours(1));
|
|
||||||
}
|
|
||||||
return Content(sitemapXml, "application/xml");
|
return Content(sitemapXml, "application/xml");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user