我有一个继承自" DynamicNodeProviderBase"的外部类。为了配置我的站点地图,我正在动态构建我的站点地图,并且MvcSiteMapProvider正在缓存数据。我想要做的是每隔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;
}
答案 0 :(得分:0)
如何每2小时清除一次SiteMap缓存?
将缓存持续时间设置为120分钟
<appSettings>
<add key="MvcSiteMapProvider_CacheDuration" value="120"/>
</appSettings>
TimeSpan absoluteCacheExpiration = TimeSpan.FromHours(2);
什么是
ChangeFrequency
和UpdatePriority
?
这些设置适用于默认情况下托管在/sitemap.xml
的XML站点地图端点。 sitemap protocol准确地解释了它们的用途。