2012-07-05 31 views
3

我有一個.NET(C#)腳本,它從XML文件中提取新聞文章。一切工作正常,但當涉及到發佈它們,並出現在網頁上,一些不太正確的東西。文章不會出現在通過.NET發佈到Umbraco之後

這裏是到目前爲止的代碼:

  try { 
        newNode.Save(); 
        newNode.Publish(User.GetUser(0)); //0 is default user 
       } 
       catch (Exception ex) { 
        // error message 
       } 
       umbraco.library.UpdateDocumentCache(newNode.Id); 

正如你所看到的,我想要發佈的newNode。它首先保存,然後通過具有發佈權的用戶0發佈,然後更新文檔緩存。問題在於它出現在Umbraco的後端,但文檔鏈接只是一個單獨的散列(#),並且它不會顯示在網頁上。

任何人都可以提出爲什麼這種發佈方法不起作用嗎?

編輯:應該提到,我使用的是一把umbraco 4.7.1

回答

5

如果newNode是,你還要創建節點的孩子,你需要發佈和更新的文件緩存父節點在其子節點發布(並更新緩存)之前。無論如何,父節點需要事先發布。嘗試之前重新發布整個網站,如果仍然無效,則嘗試重新發布整個網站。

重新發布整個網站:

  1. 右鍵點擊相應內容節點。
  2. 從菜單中選擇「重新發布整個站點」。
  3. 點擊「重新發布整個網站」按鈕。

它應該很快,因爲所有這一切都是重建umbraco.config緩存文件。

+0

感謝您的建議,但到目前爲止還沒有任何運氣。我可能需要在嘗試發佈newNode之後更新緩存嗎? – edparry 2012-07-06 09:26:32

+0

您應該在發佈每個節點後更新緩存。確保所有祖先節點都事先正確發佈。如果情況變得更糟,您可以重新發布(更新緩存)整個網站。我已經包含了如何在答案中做到這一點的說明。 – 2012-07-06 13:10:38

相關問題