Страницы

Поиск по вопросам

среда, 29 января 2020 г.

Актуализация информации

#c_sharp #net #wcf #веб_программирование #клиент_сервер


Есть Клиент, который работает с WCF службой.

WCF служба в свою очередь предоставляет информацию из MS SQL БД.

Клиент может менять данные через WCF службу на SQL сервере.

Собственно вопрос, как правильно поддерживать данные на клиенте в актуальном состоянии?

На сколько верным решением будет каждые 5 минут по таймеру запрашивать у WCF службы
данные? Может быть есть более грамотный подход?
    


Ответы

Ответ 1



SQL Server может уведомлять WCF службу об изменениях в интересующих её таблицах. А служба, в свою очередь, уведомлять клиентов-подписчиков.

Ответ 2



По молодости была такая ошибка, при старте программы закачивал много данных с БД, потом написал обёртки к коллекциям, которые эти множества синхронизировали. При старте программа долго грузилась и было много ещё каких косяков. Согласен с @AdamSkywalker всё зависит от бизнес требований. Есть альтернативный подход. Загружать данные под конкретную операцию, к примеру нужно найти договор, не нужно загружать все 100500 договоров. А потом скролить и искать нужный договор. Это неправильно с точки зрения UX. Пользователь все равно в один момент времени не видит 100500 договоров. Загрузить 10 последних договоров и показать их пользователю. Он не нашел, ввел критерии поиска (фильтр + сортировка) и под этот фильтр запрашивается обозримое пользователем количество договоров, после того как он выбрал договор, всё это список не нужен, он выбрасывается из памяти.

Комментариев нет:

Отправить комментарий