【发布时间】:2015-06-22 12:13:24
【问题描述】:
我正在使用 TaxonomyManager gettree(path) 方法在我的 c# 代码中获取特定的树层次结构,但获得结果需要 3 分钟以上,因此该网站需要很长时间才能加载。如何减少加载网站的时间,有没有其他方法可以用来从 Ektron 获取层次结构。
【问题讨论】:
-
还有其他选择吗?
标签: ektron
我正在使用 TaxonomyManager gettree(path) 方法在我的 c# 代码中获取特定的树层次结构,但获得结果需要 3 分钟以上,因此该网站需要很长时间才能加载。如何减少加载网站的时间,有没有其他方法可以用来从 Ektron 获取层次结构。
【问题讨论】:
标签: 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 缓存,但不确定使用常规缓存会产生多大的不同。
【讨论】: