我正在通过Umbraco向Umbro7.3站点添加一些新内容,内容正确地出现在后台office和cmsContentXml缓存表中。问题是,新内容不会出现在站点上,因为它不在umbraco.config文件中,如果我重新发布整个站点,内容就会显示出来。
我不希望用户必须重新发布网站,因为内容应该是自动导入为他们。我一直试图使用API重新生成缓存,但是没有什么会导致缓存文件被更新。
我在用:
contentService.RePublishAll();
contentService.RebuildXmlStructures(new int[] { UmbracoNodeUtils.PEOPLE_DOCUMENT_TYPE_ID, UmbracoNodeUtils.EXPERTISE_DOCUMENT_TYPE_ID });我还试过以下几行
umbraco.library.UpdateDocumentCache(createdNode.Id);
umbraco.library.RefreshContent();但是他们会抛出一个异常
Value cannot be null.\r\nParameter name: refresher.有没有人知道我如何通过API强制缓存更新,或者是否有比SaveAndPublishWithStatus更好的方式添加我的内容?
发布于 2016-01-22 14:05:03
结果发现,您无法使用控制台应用程序清除缓存文件。您可以做的是使用WebApi按照https://our.umbraco.org/forum/developers/api-questions/39164-Console-Application-Publishing-Problem#comment-189720清除缓存。
您可以创建一个控制器,该控制器包含:
var contentService = Services.ContentService;
contentService.RePublishAll();
umbraco.library.RefreshContent();https://stackoverflow.com/questions/33648709
复制相似问题