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

时间:2015-06-22 12:13:24

标签: ektron

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

1 个答案:

答案 0 :(得分:0)

我们遇到了同样的问题,实际上还有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缓存,不确定使用常规缓存会产生多大差异。