我正在寫一個小應用程序鏈接到Umbraco(一個小的獨立控制檯應用程序,最終將作爲計劃任務在服務器上運行)和我使用Umbraco API(4.5.2)來更改數據庫/文檔。Umbraco Document.getProperty(...)。值拋出空引用異常
下面是我在做什麼片段:
IEnumerable<Document> documents = Document.GetChildrenForTree(parentDocumentId);
foreach (Document doc in documents.Where(d => d.Published))
{
doc.getProperty("myData").Value = "some data"; // Exception here
// ...other stuff here...
}
不過,我總是得到一個NullReferenceException因爲沒有屬性。這讓我感到困惑,因爲我可以看到umbraco界面中有5個屬性。
一位同事建議我使用節點而不是文檔,但是我甚至無法創建一個,因爲我從Node類構造函數中獲取NullReferenceException。
Node myNode = new Node(-1); // NullReferenceException here
有沒有人有任何想法?
說話的數人上週在愛爾蘭DDD會後,似乎通過Web服務訪問一把umbraco是當下最佳的前進道路。我確實看過了源代碼,它確實需要重構。 「業務對象」中存在對HttpContext的依賴(HttpContext應該只能在表示層中進行),這就是爲什麼它在控制檯應用程序中失敗的原因。我相信V5會更好。 (我不太清楚「umbraco context」是什麼意思)。 – 2010-10-11 08:32:29
umbraco context是一個單例,它存在於運行時的應用程序中。它類似於httpcontext。它存儲xml /存儲路徑/其他應用程序變量 – 2010-10-12 03:22:05