Можно ли на vb.net отслеживать повышение событий между приложениями? - PullRequest
1 голос
/ 01 октября 2009

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

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

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

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

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

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

1 Ответ

2 голосов
/ 01 октября 2009

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

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

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

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

...