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

时间:2015-12-31 08:45:25

标签: umbraco umbraco7

我一直试图在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

1 个答案:

答案 0 :(得分:5)

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

开始工作了

<强>用法:

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

我希望这有助于其他人。