У меня есть приложение, которое использует комбинацию ContentService.Saved & ContentService.Saving расширить Umbraco для управления контентом.Umbraco7 - ContentService.SaveAndPublishWithStatus VS ContentService.SendToPublication
У меня есть два веб-сайта в одной установке Umbraco. Я использую эти методы, чтобы поддерживать контент в разных частях дерева.
До сих пор у меня все работает так, как я хотел.
Теперь я хочу добавить функцию, которая: в зависимости от того, какой пользователь Umbraco вошел в систему, либо опубликует контент, либо просто отправит его на утверждение.
Так я изменил несколько строк кода из:
cs.SaveAndPublishWithStatus(savedNode, 0, false)
Для этого:
cs.SendToPublication(savedNode);
Теперь проблема, что я нахожу в том, что в отличие от() метод SaveAndPublishWithStatus, то cs.SendToPublication(); не имеет возможности передать false, чтобы событие сохранения не было поднято. Поэтому я попадаю в бесконечный цикл.
Когда я прикрепляю отладчик и вручную останавливаю бесконечный цикл при первом вызове cs.SendToPublication (savedNode); Я получаю именно то поведение, которое я хочу.
Любые идеи о том, как я могу обойти эту проблему? Есть ли другой метод, который я должен использовать?
Есть ли причина, по которой вы делаете это в коде, а не на основе ролей пользователя? – Mark
Да, эта установка Umbraco управляет двумя веб-сайтами. Когда пользователь обновляет контент на Сайте 1, это изменение отражается на Сайте 2 (автоматически), но до того, как он фактически будет опубликован на сайт 2, он должен быть разрешен менеджером сайта два. –
А я вижу, у меня нет ответа для вас, но, возможно, если вы посмотрите код ContentService, вы найдете ответы https://github.com/umbraco/Umbraco-CMS/blob/10b8fd9fb973ddb9b86ebf4e0f5755c43cd22496/src/ Umbraco.Core/Услуги/ContentService.cs – Mark