Мне нужно реализовать механизм уведомления для системы с одним менеджером и несколькими потребителями/клиентами. Менеджер должен опрашивать базу данных и запускать событие всякий раз, когда в данных происходят изменения. Теперь было бы легко, если бы все клиенты были заинтересованы в одних и тех же данных, и было бы достаточно реализовать одно событие и подписаться на это событие всех клиентов. Однако клиенты должны получать события только для тех данных, за которые они несут ответственность.
Например, есть несколько клиентов, которые добавляют новых клиентов. Это происходит через менеджер потокобезопасным способом. Теперь эти клиенты, которые создали клиентов, должны знать обо всех изменениях, которые происходят только с этими клиентами. Менеджер опрашивает таблицу Customers каждые N секунд и получает список всех клиентов, которые изменились. Затем менеджеру нужно будет «направить» (из-за отсутствия лучшего слова) уведомления заинтересованным клиентам.
Это должно быть реализовано с помощью какого-то обратного вызова, который каждый клиент должен будет предоставить менеджеру? Это похоже на то, что мне нужно, но я не знаю, как я могу передать параметры этому обратному вызову (здесь это клиенты, которые меня интересуют, не беспокойте меня, когда у вас есть обновления для любого другого клиента)
Я использую С#, .NET 2.0. Спасибо!