【问题标题】:How do I import serialized items through the Sitecore API during package installation?如何在安装包期间通过 Sitecore API 导入序列化项目?
【发布时间】:2013-10-30 21:14:38
【问题描述】:

我正在尝试在安装包期间通过 Sitecore 的 API 导入序列化项目。

我已将 App_Config 中的序列化配置修改为我拥有序列化项目的路径(位于网站内的子文件夹中)。当我运行安装程序(附带调试器)时,我没有看到任何错误。数据不是在第一次运行时导入的,而是在第二次运行时导入的。

我在/sitecore/admin/serialization.aspx 页面中找到了灵感,它做同样的事情。如果我在该页面上的 master 上运行导入,它在第一次尝试时就可以工作。我一定遗漏了一些小参数,但我似乎无法解决问题所在。 这是我的代码:

using (new SecurityDisabler())
{
    var options = new LoadOptions(Factory.GetDatabase("master"));
    options.ForceUpdate = true;
    options.DisableEvents = true;
    Manager.LoadTree(Path.Combine(PathUtils.Root, "master"),options);
}

有什么突出的东西我可能会遗漏或者可以帮助我朝着正确的方向前进吗?

【问题讨论】:

  • 我会让你知道失败的原因是因为我在进行序列化之前将 serialization.config 复制到 App_Config/Include 中。这就是为什么它在第二次尝试时起作用(配置已经在那里)。我尝试提取获得有效路径的代码。但是现在缺少要包含在配置文件中的路径列表。

标签: c# .net sitecore


【解决方案1】:

为什么在安装包的过程中需要反序列化项目?你有机会看看 Courier 吗? http://marketplace.sitecore.net/en/Modules/Sitecore_Courier.aspx

它将为您将序列化的项目转换为包,它也可以在构建期间从命令行使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-26
    • 2018-12-09
    • 2020-05-14
    • 2014-07-02
    • 1970-01-01
    • 2017-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多