Я пытаюсь использовать API sitecore для сериализации и восстановления элементов sitecore.Я создал приложение WCF, чтобы получить имя элемента с указанным идентификатором или путем к sitecore (/ sitecore / content / home), получить список имен элементов, которым дети дают идентификатор или путь.Я также могу сериализовать дерево контента.
public void BackupItemTree(string id)
{
Database db = Sitecore.Configuration.Factory.GetDatabase("master");
Item itm = db.GetItem(id);
Sitecore.Data.Serialization.Manager.DumpTree(itm);
}
Приведенный выше код прекрасно работает.После запуска он может видеть, что дерево контента было сериализовано.
Однако, когда я пытаюсь восстановить сериализованные элементы, используя следующее:
public void RestoreItemTree(string path)
{
try
{
using (new Sitecore.SecurityModel.SecurityDisabler())
{
Database db = Sitecore.Configuration.Factory.GetDatabase("master");
Data.Serialization.LoadOptions opt = new Data.Serialization.LoadOptions(db);
opt.ForceUpdate = true;
Sitecore.Data.Serialization.Manager.LoadItem(path, opt);
//Sitecore.Data.Serialization.Manager.LoadTree(path, opt);
}
}
catch (Exception ex)
{
throw ex;
}
}
С этим кодом я не получаю ошибок.Он работает, но если я проверяю SiteCore, он ничего не делает.Я проверил на примере Office Core.Путь, который я отправил, и это может быть проблемой:
C: \ inetpub \ wwwroot \ sitecoretest \ Data \ serialization \ master \ sitecore \ content \ Home \ Standard-Items \ Teasers \ Our-Clients.item
и
C: \ inetpub \ wwwroot \ sitecorebfahnestockinet \ Data \ serialization \ master \ sitecore \ content \ Home \ Стандартные-элементы \ Тизеры \ Наши клиенты
Ни один, кажется, ничего не делает.Я изменил название предмета-тизера и пытаюсь восстановить его раньше, но каждый раз, когда изменение все еще присутствует.
Любая помощь будет принята, поскольку документация SiteCore очень ограничена.