C# 翁布拉科;GetContentByTag";方法缓存问题

C# 翁布拉科;GetContentByTag";方法缓存问题,c#,asp.net-mvc,umbraco,umbraco7,C#,Asp.net Mvc,Umbraco,Umbraco7,我尝试以编程方式向文档添加标记: var cs = ApplicationContext.Current.Services.ContentService; var item = cs.GetById(1227); item.SetValue("itemTags", "testTagName"); cs.SaveAndPublishWithStatus(item); cs.RePublishAll(); umbraco.library.RefreshContent(); 在另一个页面

我尝试以编程方式向文档添加标记:

var cs = ApplicationContext.Current.Services.ContentService;

var item = cs.GetById(1227);
item.SetValue("itemTags", "testTagName");

cs.SaveAndPublishWithStatus(item);
cs.RePublishAll();    
umbraco.library.RefreshContent();
在另一个页面中,我需要按标签过滤项目,如下所示:

var filteredItemsByTag = Umbraco.TagQuery.GetContentByTag("testTagName");
但是这个方法仍然不会返回上面添加的项。只有当我从管理后台“保存并发布”当前项目时,它才起作用

我在Umbraco.Core中看到“GetContentByTag”方法从RuntimeCacheProvider获取值,RuntimeCacheProvider有“Clear()”方法,但类是内部的,所以我不能使用它

有什么办法可以买到东西吗


谢谢

首先,您无需致电:

cs.RePublishAll(); 
umbraco.library.RefreshContent();

使用此方法通过标记获取节点-
ApplicationContext.Services.TagService.GetTaggedContentByTag(“标记”)

感谢您的回复,但“GetTaggedContentByTag”方法中仍然存在缓存。仅当我为标记设置了新值时,此方法才会返回一个项,但它不应因为值已更改而返回。我还检查了ApplicationContext.Services.ContentService,它工作正常并显示了正确的标记属性值