#c_sharp #net #wcf #веб_программирование #клиент_сервер
Есть Клиент, который работает с WCF службой. WCF служба в свою очередь предоставляет информацию из MS SQL БД. Клиент может менять данные через WCF службу на SQL сервере. Собственно вопрос, как правильно поддерживать данные на клиенте в актуальном состоянии? На сколько верным решением будет каждые 5 минут по таймеру запрашивать у WCF службы данные? Может быть есть более грамотный подход?
Ответы
Ответ 1
SQL Server может уведомлять WCF службу об изменениях в интересующих её таблицах. А служба, в свою очередь, уведомлять клиентов-подписчиков.Ответ 2
По молодости была такая ошибка, при старте программы закачивал много данных с БД, потом написал обёртки к коллекциям, которые эти множества синхронизировали. При старте программа долго грузилась и было много ещё каких косяков. Согласен с @AdamSkywalker всё зависит от бизнес требований. Есть альтернативный подход. Загружать данные под конкретную операцию, к примеру нужно найти договор, не нужно загружать все 100500 договоров. А потом скролить и искать нужный договор. Это неправильно с точки зрения UX. Пользователь все равно в один момент времени не видит 100500 договоров. Загрузить 10 последних договоров и показать их пользователю. Он не нашел, ввел критерии поиска (фильтр + сортировка) и под этот фильтр запрашивается обозримое пользователем количество договоров, после того как он выбрал договор, всё это список не нужен, он выбрасывается из памяти.
Комментариев нет:
Отправить комментарий