Два процесса, разделяющие статическое событие
У меня есть решение с 3 соответствующими проектами. Там есть сервис, БД и веб-приложение. Сервисный проект запускает сервер Hangfire, db- это просто ссылка на библиотеку и db-access, а webapp - веб-хост.
Мой контекст БД имеет статический EventHandler и публичные методы для его запуска. Мой сервисный слой будет выполнять некоторую фоновую веб-обработку и иногда добавлять элемент в базу данных, а затем вызывать dbContextInstance.NotifyItemAdded(myNewItems)
метод.
Мое веб-приложение подписывается на это событие и запускает вновь добавленные элементы в поток SSE.
Моя проблема в том, что, хотя мой веб-приложение подписалось на DbContextClass.OnItemAdded
мой сервисный слой жалуется что мой DbContextCalss.OnItemAdded
EventHandler является нулевым. Я предполагаю, что причина в том, что мой сервис и веб-приложение являются двумя отдельными процессами и имеют две отдельные ссылки на статическое поле EventHandler.
Мой вопрос тогда, как мне эти два процесса совместно использовать один и тот же EventHandler? Я бы предпочел не публиковать мой сервисный слой в моем веб-приложении через локальный запрос, но кажется, что это мой единственный вариант. Я не знаком с другими методами IPC.
Спасибо!