TaxonomyManager.GetTree(路径)的性能问题



我在c#代码中使用TaxonomyManager gettree(路径)方法来获取特定的树层次结构,但需要3分钟以上才能得到结果,因此网站加载需要很长时间。如何减少加载网站的时间,我有没有其他方法可以从Ektron获得层次结构。

我们遇到了完全相同的问题,实际上我们得到了Ektron的支持来帮助解决它。

现在,每当我们使用分类法时,我们都会将它们缓存在服务器端,以避免性能下降。类似的东西

string cacheKey = "Something unique for your situation";
TaxonomyData taxonomyData;
if (Ektron.Cms.Context.HttpContext.Cache[cacheKey] == null)
{
    // Pull taxonomy data and store in cache.
    Ektron.Cms.Context.HttpContext.Cache.Insert(cacheKey, taxonomyData);
}
else 
{
    taxonomyData = (TaxonomyData)Ektron.Cms.Context.HttpContext.Cache[cacheKey];
}

由于您已经知道如何提取TaxonomyData,所以我省略了它。我们不存储分类法数据,而是存储使用分类法数据创建的对象,因此只需缓存所需的任何内容,就可以在"大多数"情况下避免性能下降。

我不记得ektron缓存时间是在哪里设置的,无论是在web.config中还是在WorkArea中。Ektron支持人员表示要使用Ektron缓存,但不确定使用常规缓存会有多大区别。

最新更新