Orchard以编程方式清除缓存

时间:2013-04-24 05:05:00

标签: caching orchardcms

我正在使用以下内容缓存:

var htmlHEAD = _cacheManager.Get(THE_CACHE_KEY, ctx =>
        {
            ctx.Monitor(_clock.When(TimeSpan.FromMinutes(60)));

            return getTenantSpecificHeadHTMLFromDB()
        });

但是,如果需要快速更改,我希望能够点击URL并清除缓存。

例如。这是在AdminController中。

public ActionResult purgeCache() {
    _cacheMangager.PurgeCache(THE_CACHE_KEY); //this doesn't exist :(

    return Content("OK");
}

我该怎么做?

1 个答案:

答案 0 :(得分:2)

不仅要监控基于时间的过期,还要监控命名信号(注入ISignalsctx.Monitor(_signals.When("SomeUniqueKeyForYourExpirationSignal"));),然后在每次要清除缓存条目时触发该信号:{{1 }}