【问题标题】:Performance issue with TaxonomyManager.GetTree(path)TaxonomyManager.GetTree(path) 的性能问题
【发布时间】:2015-06-22 12:13:24
【问题描述】:

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

【问题讨论】:

  • 还有其他选择吗?

标签: ektron


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2020-08-11
    • 2019-02-16
    • 1970-01-01
    • 2015-02-19
    • 2020-07-14
    • 2017-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多