У меня есть консольное приложение .NET Core , которое создает некоторые открытые классы с некоторыми общими свойствами.Он запускает цикл, который при определенных условиях изменяет эти общедоступные свойства.Эти свойства обновляются несколько раз в секунду в течение всего срока службы приложения.
Теперь я хочу, чтобы другое приложение с пользовательским интерфейсом представляло данные из консольного приложения.Как бы мне из одного приложения получить данные, присутствующие в открытых свойствах другого приложения?
Не нужно
- Меня интересуют только открытые свойства в открытых классах.Меня не интересуют частные свойства или поля или внутренние классы.
- Свойства очень часто обновляются, поэтому я не хочу записывать в файл.Также я не хочу регистрироваться в какой-либо облачной службе, такой как Azure Application Insights.
- Я бы не стал вносить обширные или навязчивые изменения в консольное приложение (например, запись в именованный канал или сетевой сокет) только длядругое приложение для чтения данных.
Мысли
- Имеется ли какой-либо атрибут, которым я могу аннотировать классы или их свойства?
- Нужно ли реорганизовывать консольное приложение в библиотеку классов, на которую ссылаются как консольное приложение, так и приложение пользовательского интерфейса?Это позволило бы переместить весь код в библиотеку классов и оставить консольное приложение с помощью только статического основного метода, который выполняет один вызов метода для запуска кода в библиотеке классов.
- Может ли мое приложение пользовательского интерфейса присоединиться к процессуконсольного приложения?