Umbraco Document.getProperty (...). Значение выдает исключение нулевой ссылки - PullRequest
1 голос
/ 06 октября 2010

Я пишу небольшое приложение, которое связывается с Umbraco (небольшое автономное консольное приложение, которое в конечном итоге будет запускаться как запланированная задача на сервере), и я использую API Umbraco (4.5.2) для внесения изменений база данных / документ.

Вот фрагмент того, что я делаю:

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.

Node myNode = new Node(-1); // NullReferenceException here

У кого-нибудь есть идеи?

Ответы [ 3 ]

2 голосов
/ 10 октября 2010

Класс документа получает / устанавливает информацию из базы данных umbraco.Поскольку ваш код запускается во внешнем консольном приложении, он не может найти контекст umbraco.Поэтому выдается исключение нулевой ссылки.

Вам необходимо запустить код внутри процесса umbraco.Существует веб-сервис asmx, который существует для сторонней интеграции./umbraco/webservices/api/documentservice.asmx

0 голосов
/ 11 февраля 2011

Я недавно проверил источник 4.5.2, чтобы обнаружить, что для заполнения объектов Document и Node требуется только соединение с использованием umbracoDbDsn.Так что если у вас есть AppSetting с именем umbracoDbDsn, который указывает на действительный экземпляр базы данных Umbraco, вы будете в порядке.

HTH,

Бенджамин

0 голосов
/ 10 февраля 2011

Другим способом достижения этого может быть использование linq2umbraco.подробности см. http://our.umbraco.org/forum/core/41-feedback/7699-UmbracoLinq-in-console-app--Having-some-troubles

...