Один из наших разработчиков «внешнего интерфейса» постоянно просит от нас разработчиков бэкэнда, чтобы он уведомлял всех подключенных клиентов (это среда клиент / сервер) об изменениях объектов. Как в случае: когда один пользователь вносит изменение, все остальные подключенные клиенты должны быть немедленно уведомлены об изменении.
В настоящее время в нашей архитектуре нет системы уведомлений такого рода, и у нас нет своего рода модели публикаций / субобъектов для явно выбранных объектов (например, той, которую в настоящее время реализует интерфейс) ... которая имела бы смысл в таком случае использования imho, но, очевидно, требует дополнительной реализации.
Однако я подумал, что веб-интерфейсы обычно проверяют наличие блокировок для одновременно существующих пользовательских изменений на одном и том же объекте и скорее извлекают изменения / загружают по требованию и в фоновом режиме, а не в бэкэнде, постоянно передавая все изменения всем клиентам для всех объектов. что мне кажется чрезмерным.
Однако утверждается, что, например, MS Entity Framework фактически публикует (INotify) PropertyChanged не только для локальных изменений, но и для всех таких изменений, включая другие клиентские подключения, но я не нашел никаких доказательств или подробностей относительно этого.
Кто-нибудь может пролить свет на это? Делать другие, например ORM и т. Д. Предоставляют транслируемые (INotify) события PropertyChanged для сущностей?