如何在 Umbraco 7 中以编程方式取消发布内容

How to unpublish content programmatically in Umbraco 7

我一直在尝试以编程方式在 Umbraco 7 中取消发布内容,但它似乎没有按预期工作。虽然内容已从缓存中删除,但数据库记录从未更新:

node.UnPublish();
umbraco.library.UnPublishSingleNode(node.Id);

进一步调查后,我发现 UnPublishSingleNode 方法已过时:

[Obsolete("This method is no longer used, 
a document's cache will be removed automatically 
when the document is deleted or unpublished")]
public static void UnPublishSingleNode(int DocumentId);

该消息没有建议新方法:(

我需要有关如何以编程方式取消发布内容的说明。

Umbraco 版本:7.3.3

我终于通过 Umbraco.Core.Services.IContentService

让它工作了

用法:

var contentServices = ApplicationContext.Current.Services.ContentService;
var content = contentServices.GetById(node.Id);
contentServices.UnPublish(content, 0);

我希望这对其他人有帮助。