如何在 MvcSiteMapProvider 和缓存中使用 ChangeFrequency

How to use ChangeFrequency in MvcSiteMapProvider and caching

我有一个从 "DynamicNodeProviderBase" 继承的外部 class 用于配置我的站点地图,我正在动态构建我的站点地图并且 MvcSiteMapProvider 正在缓存我应该做的 data.What是每 2 小时清除一次缓存数据,以便在发生更改时重新构建它,我设置了这些代码,但我不知道它们到底是什么 doing.so 我有 2 个问题:

1- 我如何最好使用以下代码每 2 小时清除一次 SiteMap 缓存:

2- 以下这些代码究竟在做什么:

foreach (var Something in Something.else)
{
dynamicNode = new DynamicNode();

 dynamicNode.ChangeFrequency = ChangeFrequency.Hourly;
 dynamicNode.UpdatePriority = UpdatePriority.Normal;

 //  System.Web.HttpContext.Current.Cache["dynamicNode"] = dynamicNode;

yield return dynamicNode;
}

How can I clear SiteMap Cache each 2 hours?

将缓存持续时间设置为 120 分钟

内部DI

<appSettings>
    <add key="MvcSiteMapProvider_CacheDuration" value="120"/>
</appSettings>

外部DI

TimeSpan absoluteCacheExpiration = TimeSpan.FromHours(2);

What are ChangeFrequency and UpdatePriority?

这些设置适用于默认托管在 /sitemap.xml 的 XML 站点地图端点。 sitemap protocol 准确解释了它们的用途。