Триггер ивента сервера на клиенте

Создаю клиент-сервер приложение, в котором клиент делает запрос по http на сервер, а сервер его как-то обрабатывает (с помощью nancy). Для поддержания модульности, была создана библиотека по взаимодействию с сервером, где клиент обращается просто к статическим методам и получает ответ.

На сервере у меня реализована коллекция ObservableConcurrentDictionary, которая имеет внутри себя ивент по аналогии с ObservableCollection. Данная коллекция хранит внутри себя кэш базы данных. Из этой коллекции данные отправляются на клиент.

Итак, теперь сам вопрос: возможно ли в библиотеке по взаимодействию с сервером реализовать статический ивент, который сервер будет вызывать, а подписанные клиенты вызывать соответствующие методы у них.

Код прикладывать смысла не вижу, тк тут больше вопрос теоретический вопрос о том, в какую сторону копать.

Пример:

На сервере есть ObservableConcurrentDictionary<Guid, Order>, хранящая внутри себя заказы.

Есть ивент OrdersChanged, который вызывает при изменении коллекции, описанной выше.

При вызове ивента, срабатывают методы, подписанные на него

Upd:

Создана отдельная библиотека классов для того, чтобы перетянуть всю логику взаимодействия клиента с сервером на себя. Таким образом, на клиенте практически не нужно реализовывать какие-либо методы. Во ViewModel клиента нужно лишь вызвать статические методы той библиотеки


Ответы (0 шт):