Sitecore以编程方式传输项目

时间:2013-07-08 09:53:07

标签: sitecore sitecore6

我想将项目从master数据库传输到类似的数据库(比如说master数据库的副本),这是master数据库的脱机备份。此更新将每天进行。

我已经配置了marster_archive数据库并尝试了Sitecore传输项功能。它将选定的项目从主数据库复制到master_archive数据库。

我想以编程方式执行此操作,我该怎么做? (Sitecore 6.6)

1 个答案:

答案 0 :(得分:4)

以下是Transfer命令使用的代码的简化版本:

public void Transfer()
{
    Item sourceItem = ...;
    Item destinationItem = ...;
    using (new ProxyDisabler())
    {
        string outerXml = sourceItem.GetOuterXml(includeSubitems);
        try
        {
            destinationItem.Paste(outerXml, false, PasteMode.Overwrite);
            Log.Audit((object) this, "Transfer from database: {0}, to:{1}",
                        AuditFormatter.FormatItem(sourceItem),
                        AuditFormatter.FormatItem(destinationItem));
        }
        catch (TemplateNotFoundException ex)
        {
            // handle exception - first transfer templates, than items
        }
    }
}