【问题标题】:How to use ChangeFrequency in MvcSiteMapProvider and caching如何在 MvcSiteMapProvider 和缓存中使用 ChangeFrequency
【发布时间】:2016-06-28 06:53:17
【问题描述】:

我有一个从“DynamicNodeProviderBase”继承的外部类用于配置我的站点地图,我正在动态构建我的站点地图并且 MvcSiteMapProvider 正在缓存数据。我想做的是每 2 小时清除一次缓存数据以如果发生变化,请重新构建它,我设置了这些代码,但我不知道它们到底在做什么。所以我有 2 个问题:

1- 如何最好使用以下代码每 2 小时清除一次站点地图缓存:

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;
}

【问题讨论】:

    标签: asp.net-mvc-5 sitemap mvcsitemapprovider


    【解决方案1】:

    如何每 2 小时清除一次站点地图缓存?

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

    内部 DI

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

    外部 DI

    TimeSpan absoluteCacheExpiration = TimeSpan.FromHours(2);
    

    什么是ChangeFrequencyUpdatePriority

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

    【讨论】:

    • 感谢您的回复,真的很有帮助
    猜你喜欢
    • 2011-06-14
    • 1970-01-01
    • 2012-09-26
    • 2018-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    相关资源
    最近更新 更多