vb.net возможно ли отслеживать события raise в разных приложениях?

StackOverflow https://stackoverflow.com/questions/1501309

Вопрос

Возможно, я сошел с ума...но я надеюсь, что есть способ сделать это.

У меня есть базовый класс, в котором есть обработка событий.Мое консольное приложение запускает мой рабочий процесс.Частью этого рабочего процесса является создание событий через определенные промежутки времени в отдельном потоке для трансляции текущего состояния работников (я слышал, что многие называют это сердцебиением).

У меня также есть другая программа в том же решении, которая представляет собой форму Windows, и я хочу, чтобы она могла прослушивать то, что происходит в консольном приложении, чтобы оно могло отображать рабочие состояния.Я попытался запустить оба одновременно и убедился, что события запускаются, но монитор не находит ни одного из вызванных событий.

Я боюсь, что нет никакого способа сделать это, и мне нужно будет перейти к методу ведения журнала базы данных или чему-то еще...но на тот случай, если кто-то знает, как взаимодействовать между приложениями с помощью логики событий (или event-style), я был бы признателен.

В настоящее время приложения запускаются из одного и того же места.Цель состоит в том, чтобы приложение monitor в конечном итоге было подключено к вещателю для нашей сети, чтобы наши рабочие станции могли отслеживать определенные состояния работников без входа в систему, а главный монитор показывал нам полный статус всех работников.

Пожалуйста, дайте мне знать, если мне нужно будет расширить / уточнить это, попросите 2-летнего ребенка посмотреть "Звездные войны", пока я набираю это, чтобы я, возможно, что-то пропустил.

Это было полезно?

Решение

Есть несколько способов:использование удаленного взаимодействия, пользовательских сообщений Windows и именованных каналов.Одним из способов является Как использовать именованные каналы для взаимодействия между процессами в Visual Basic.NET или в Visual Basic 2005

Вот пример удаленного взаимодействия: Простая Межпроцессная коммуникация В VB.Net

Вот пример пользовательских сообщений Windows: VB.NET , VB6 и C # взаимодействуют между процессами с помощью оконных сообщений

Возможно, самый "актуальный" способ - это использовать каналы обратного вызова WCF: Использование контрактов обратного вызова в WCF для асинхронной связи в стиле событий Публикации / подписки

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top