Когда я пытался отобразить изображения из папки umbraco, там было написано: «Дети = оценка функции требует запуска всех потоков». - PullRequest
0 голосов
/ 17 октября 2019

Проблема возникает, когда я пытаюсь отобразить значки из папки, я отлаживаю ее с VS 2017, и при наведении курсора «media» я вижу имя папки, идентификатор и т. Д., Но в сообщении отображается сообщение об ошибке. case children (Children = функция оценки требует выполнения всех потоков.), когда я создал новую папку и поместил в нее те же изображения, теперь проблема решена. !!, я получил все изображения из этой папки.

И я снова выбираю старую папку и обнаружил, что проблема все еще существует. Я проверял на кеширование в макросе, но нет. Проблема обычно решается всякий раз, когда я переключаю носители на новую папку.

Кто-нибудь, пожалуйста, помогите

Код ниже

foreach (var mediaItem in mediasList)
{
    IPublishedContent media = null;
    Udi udiId;

    if (Udi.TryParse(mediaItem, out udiId))
    {
        media = Umbraco.TypedMedia(udiId);
    }
    else
    {
        media = Umbraco.TypedMedia(mediaItem);
    }
    if (media.DocumentTypeAlias == "Folder")
    {
        var childrens = media.Children();   //getting error

        foreach (var image in childrens)
        {

        }
    }
}

1 Ответ

0 голосов
/ 17 октября 2019

На форуме MSDN :

Само по себе это не ошибка, а скорее функция вашего отладчика. Некоторые свойства требуют выполнения кода для того, чтобы свойство могло быть прочитано, но если для этого требуется взаимодействие между потоками, то, возможно, придется запускать и другие потоки. Отладчик не делает этого автоматически, но, безусловно, может, с вашего разрешения. Просто нажмите на маленький значок оценки, и он запустит ваш код и оценит свойство.

Кроме того, вы можете получить результаты, если, например, наберете var childrens = media.Children().ToList().

...