powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Отмена обновления данных
2 сообщений из 2, страница 1 из 1
Отмена обновления данных
    #38908862
sergei64_89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В приложении существует следующий подход:Есть некий синглтон класс в нем по таймеру берутся данные из БД-> обрабатываются,записываются в публичные свойства->вызываются событию(на него заблаговременно подписаны обработчики из форм), берутся данные из свойств синглтона и отображают.
Но есть проблема в актуальности данных. К примеру форма удаляет запись,но так как таймер работавший в этот момент уже получил данные с удаленной записью-эта запись появляется в интерфейсе заново. Я пробовал решать эту проблему с помощью Task и CancellationToken, на этапе взятия данных из бд и их обработки всё срабатывает,но начали вызываться методы подписанные на событие,то тут я затруднаюсь какой подход использовать(передавать и туда токен как то странно).

Подскажите,может есть уже принятые подходы.
...
Рейтинг: 0 / 0
Отмена обновления данных
    #38911157
LameUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergei64_89В приложении существует следующий подход:Есть некий синглтон класс в нем по таймеру берутся данные из БД-> обрабатываются,записываются в публичные свойства->вызываются событию(на него заблаговременно подписаны обработчики из форм), берутся данные из свойств синглтона и отображают.
Но есть проблема в актуальности данных. К примеру форма удаляет запись,но так как таймер работавший в этот момент уже получил данные с удаленной записью-эта запись появляется в интерфейсе заново. Я пробовал решать эту проблему с помощью Task и CancellationToken, на этапе взятия данных из бд и их обработки всё срабатывает,но начали вызываться методы подписанные на событие,то тут я затруднаюсь какой подход использовать(передавать и туда токен как то странно).

Подскажите,может есть уже принятые подходы.

Достаточно спорный подход к обновлению данных.
К примеру: пользователь работает с объектом (строкой из базы). Связывает с другими в течении часа-полтора.
Какой-то добрый человек взял и удалил эту строку на стороне базы, при апдейте по таймеру и переназначению DataSource думаю пользователю вылетит куча ошибок.

В моей практике в ERP системах не требуется частое обновление информации с БД.
Оно происходит по требованию (например нажатие кнопки обновить/открытии формы).

Вы бы немного больше информации привели про вашу систему и насколько важна критичность обновления данных.
Может быть в вашем случае вам помогут блокировки в БД. Чтобы не могли удалить/изменить данные другие пользователи, в момент когда они корректируются другим.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Отмена обновления данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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