Вы можете кэшировать подслой и варьироваться по параметрам, где вы определяете пользовательские параметры. Эти параметры могут быть уникальной строкой из Lucene, например, в последний раз, когда она была перестроена.
* 1003 Е.Г. *
<sc:sublayout ID="slNews" Path="NewsList.ascx" Cacheable="true" VaryByParm="true" runat="server" />
Примечание : код Sitecore содержит опечатку, и это "VaryByParm", а не "VaryByParam"
В C #:
string lastIndexRebuild = GetLastRebuildTimeOfIndex().ToString();
slNews.Parameters = "lastIndexRebuild=" + lastIndexRebuild;
Если вы можете каким-то образом определить метод, чтобы определить, когда индекс был в последний раз перестроен, вы можете использовать его в качестве параметра для определения пользовательских экземпляров кэша на основе того, когда индекс обновляется или устарел. Вы можете даже добавить дополнительные параметры, такие как источник данных и т. Д.