Как сделать многопользовательские обновления экрана, управляемые событиями? - PullRequest
2 голосов
/ 18 июня 2009

Я работаю над программой Delphi, которая использует базу данных Firebird для хранения своих данных. Используется доморощенный о.р.м. система. Когда два пользователя смотрят на одни и те же данные, например в сетке данных, и один из них что-то меняет, другой экран обновляется немедленно. Это работает так, что объекты в одной программе сохраняют себя в базе данных. База данных имеет триггер, который регистрирует это изменение во вспомогательной таблице журнала изменений. Запись в эту таблицу журнала изменений вызывает событие. Вторая программа прослушивает это событие и знает из записи в таблице журнала изменений, какой объект был изменен. Он перезагрузит этот объект и вызовет событие внутри этой программы. Это событие приведет к обновлению всех экранов, на которых отображается этот объект, и всех объектов, основывающих свое поведение на этом объекте. Мы хотели бы перейти на .Net и, возможно, MS SQL. Мой вопрос: 1) Как мне сделать это с MS SQL? 2) Есть ли рамки, которые поддерживают это? Поэтому мне не нужно переносить это на .Net

Ответы [ 2 ]

1 голос
/ 13 июля 2009

Начиная с версий .Net Framework 2.0 и MSSqlServer 2005 существует поддержка уведомлений об изменениях: используется класс SqlDependency . У вас есть пример в кодпроекте .

Ознакомьтесь также с некоторыми рекомендациями по использованию уведомлений в msdn .

0 голосов
/ 19 июня 2009

не звучит так, как это было бы слишком сложно реализовать в c #. попробуйте использовать «шаблон наблюдателя» с любыми пользовательскими модерациями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...