Триггер ивента сервера на клиенте
Создаю клиент-сервер приложение, в котором клиент делает запрос по http на сервер, а сервер его как-то обрабатывает (с помощью nancy). Для поддержания модульности, была создана библиотека по взаимодействию с сервером, где клиент обращается просто к статическим методам и получает ответ.
На сервере у меня реализована коллекция ObservableConcurrentDictionary, которая имеет внутри себя ивент по аналогии с ObservableCollection. Данная коллекция хранит внутри себя кэш базы данных. Из этой коллекции данные отправляются на клиент.
Итак, теперь сам вопрос: возможно ли в библиотеке по взаимодействию с сервером реализовать статический ивент, который сервер будет вызывать, а подписанные клиенты вызывать соответствующие методы у них.
Код прикладывать смысла не вижу, тк тут больше вопрос теоретический вопрос о том, в какую сторону копать.
Пример:
На сервере есть ObservableConcurrentDictionary<Guid, Order>, хранящая внутри себя заказы.
Есть ивент OrdersChanged, который вызывает при изменении коллекции, описанной выше.
При вызове ивента, срабатывают методы, подписанные на него
Upd:
Создана отдельная библиотека классов для того, чтобы перетянуть всю логику взаимодействия клиента с сервером на себя. Таким образом, на клиенте практически не нужно реализовывать какие-либо методы. Во ViewModel клиента нужно лишь вызвать статические методы той библиотеки