powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Асинхронная загрузка репозитория.
7 сообщений из 7, страница 1 из 1
Асинхронная загрузка репозитория.
    #39828694
UncleJo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть репозиторий, в который при запуске программы начинает загружаться некий контент:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
public static class PositionRepository
    {
        public static List<V_POSITION_LIST> List;

        public static async Task<int> LoadData()
        {
            using (var client = new HttpClient())
            {
                 response = await client.GetAsync(ProjectProperties.ApiRoutesV_POSITION_LIST);
                 response.EnsureSuccessStatusCode();
                 List= await response.Content.ReadAsAsync<List<V_POSITION_LIST>>();              
            }
        }

        public static List<V_POSITION_LIST> GetAll(long ContractType)
        {
             return List.Where(w => w.AGREEMENT_TYPE_ID == ContractType).ToList();
        }
     }



Запуск процедуры в начале программы осуществляется просто:
PositionRepository.LoadData();

В классике, если этих репозиториев много, то это оформляется в Таски и выполняется:
Task.WaitAll(T1, T2);

Но мне этого не надо, так как клиент может открыть, а может нет форму, где используется этот репозиторий.
Но в форме я должен обратиться к GetAll(), но если List не загружен до конца, то выдается ошибка.

Вопрос:
Как можно изменить асинхронную загрузку, чтобы в GetAll() было понятно загружен List или нет (Если загружен, то выгружаем, если нет, то ждем)?

Модератор: Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
Асинхронная загрузка репозитория.
    #39828715
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
загружайте лениво, по требованию
...
Рейтинг: 0 / 0
Асинхронная загрузка репозитория.
    #39828720
UncleJo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман, варианты обхода есть. Можно напрямую обращаться к репозиторию из Грида. Интересен возможный вариант решения этой задачи.
...
Рейтинг: 0 / 0
Асинхронная загрузка репозитория.
    #39828759
Супер_Пав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ачто мешает использовать флаг загрузки данных? Если не загружено, показывать какой-нить лоадер
...
Рейтинг: 0 / 0
Асинхронная загрузка репозитория.
    #39828773
UncleJo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Супер_Пав,
1. Ресурс остается заблокированным,
2. Необходимо предсказывать задержку. Нет информации заполнен List или нет.
...
Рейтинг: 0 / 0
Асинхронная загрузка репозитория.
    #39828896
Супер_Пав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UncleJoСупер_Пав,
1. Ресурс остается заблокированным,
2. Необходимо предсказывать задержку. Нет информации заполнен List или нет.
так об этом и говорю, добавьте флаг заполнения листа
...
Рейтинг: 0 / 0
Асинхронная загрузка репозитория.
    #39829046
UncleJo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Супер_Пав,
Не работает. Пробовал.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Асинхронная загрузка репозитория.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]