【问题标题】:Sitecore template items reset after IIS restart / application pool recycleIIS 重新启动/应用程序池回收后重置 Sitecore 模板项
【发布时间】:2014-10-16 03:06:07
【问题描述】:

我为我的站点核心安装了一个 uCommerce 包。当您开始在 sitecore/templates/User Defined/uCommerce definitions/ 下编辑模板项时,会出现问题。当您重新启动 IIS 或回收应用程序池时(显然这发生在解决方案重建后),模板项会将其值重置为固定值。什么可能导致问题?是否有任何缓存机制可能导致这种情况?

更新:检查了sitecore数据库,字段值在iis重置/池回收后正确保存并存储在数据库中,因此很有信心它必须对缓存做一些事情

【问题讨论】:

    标签: iis sitecore application-pool sitecore7


    【解决方案1】:

    UCommerce DataProvider (UCommerce.Sitecore.SitecoreDataProvider.DataProviderMasterDatabase) 会在启动时自动在 sitecore/templates/User Defined/uCommerce 定义下添加模板,因此每次回收后它们都会被重置。

    【讨论】:

    • 我已经设法解决了这个问题,但是您的回答帮助我更好地理解了事情,谢谢!
    【解决方案2】:

    首先,确保您在 Master 数据库而不是 Web 数据库中进行更改。如果这不是问题,请在以管理员身份登录 Sitecore 时尝试以下操作:

    1. 转到http://yourdomain.com/sitecore/admin/cache.aspx
    2. 清除 Sitecore 缓存
    3. 转到 Master 数据库的内容编辑器并查看您的模板
    4. 进行必要的更改,保存并发布
    5. 您的 IIS 是否重新启动/应用程序池回收(后者在每次构建时都会发生)
    6. 返回http://yourdomain.com/sitecore/admin/cache.aspx
    7. 再次清除缓存(只是一个基本情况)
    8. 返回 Master 数据库的内容编辑器并再次查看您的模板

    如果在尝试这些步骤后出现问题,那么您应该打开 Sitecore 支持工单并查看他们所说的内容。您可能还想尝试全新安装 Sitecore 并尝试在那里重现问题(Sitecore 支持也可能会这样做)。

    【讨论】:

    • 感谢您的回复。我尝试使用提供的链接清理缓存。我会再试一次。我猜这个问题与 uCommerce 包有关,因为问题仅出现在模板层次结构中的 uCommerce 定义节点。 UCommerce 已向 Sitecore 管道添加了类,这些类拦截对项目的请求并通过检查其 [IDTable] 从其自己的数据库中检索它们的数据。此表将虚拟 Sitecore 项目 ID 与 uCommerce 中的项目匹配。因此,此 UCommerce/Sitecore 链接中的某些内容可能会导致问题。
    【解决方案3】:

    问题是我一直在更新的标准值模板演示布局是英文版。但是,还有另一种语言版本集,并且该版本的布局不同。当 uCommerce 在应用程序池回收时重置模板时,它不考虑多语言支持,因此最后检索到的该字段值的语言版本用作重置模板,并且使用了具有不同布局的不同语言版本。部分解决方法是对所有语言版本使用相同的布局。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-05
      • 1970-01-01
      • 2010-09-19
      • 2012-03-28
      • 2010-09-28
      • 1970-01-01
      • 2023-04-01
      相关资源
      最近更新 更多