2017-03-07 92 views
2

是否可以增量發佈項目? 我試圖做到這一點通過以下方式:Sitecore增量發佈項目

var masterDatabase = Factory.GetDatabase("master"); 
var webDatabase = Factory.GetDatabase("web"); 
var contentItem = masterDatabase.GetItem("/sitecore/content/path to item"); 

PublishOptions options = new PublishOptions(
    masterDatabase, 
    webDatabase, 
    PublishMode.Incremental, 
    Language.Current, 
    DateTime.Now) 
{ 
    RootItem = contentItem, 
    Deep = true 
}; 

Publisher publisher = new Publisher(options); 
publisher.PublishAsync(); 

,但我得到的最後一行出現以下錯誤:

「System.InvalidOperationException」類型的異常出現在Sitecore.Kernel .dll但未在用戶代碼中處理。 其他信息:根項不能用於增量發佈

contentItem變量指定是剷鬥,其包含其他bucketable物品。 有沒有辦法爲它做增量發佈?

回答

3

不,這是不可能的。 Incremental只適用於整個數據庫。

對於項目只有2個選項是可能的:

  1. 智能發佈 - 發佈源和目標數據庫之間的差異。
  2. 重新發布 - 發佈一切。
1

我想補充馬立克回答

增量發佈不採取任何根項目。它利用發佈隊列表來了解要發佈哪些項目。 Sitecore將從主數據庫中查詢屬性表以檢索最後的發佈日期和目標數據庫。

基於檢索到的時間戳,發佈PublishQueue表中所有日期大於或等於上次發佈的時間戳的項目。

這是一個原因,當你選擇發佈項目,還有不僅是這兩個選項:

  1. 智能發佈
  2. 全部發布