Как уведомить текущую программу из другого программного сообщения - PullRequest
0 голосов
/ 09 апреля 2011

Я использую «backgroundworker» для ожидания ввода сигнала от другой программы. Я обнаружил, что это замедлит работу моей системы. Есть ли какая-либо техника программирования, которая может помочь мне ждать сигнала от другой программы или exe? Так что мне не нужно создавать поток, чтобы ждать, когда есть сигнал все время. Мне нужно что-то вроде делегирования событий, когда время от времени приходит из другой программы ... тогда моя функция сработает соответственно. или есть какой-либо метод ожидания сообщения или сигнала от другого exe?

Ответы [ 3 ]

0 голосов
/ 08 ноября 2011

Если вам нужно надежное решение для этой межпрограммной или даже удаленной связи, рассмотрите возможность использования JMS-сервера, такого как ActiveMQ или Microsoft MSMQ (не JMS).Я лично предпочитаю ActiveMQ.

ActiveMQ имеет адаптеры для публикации и подписки на темы и очереди.Вы можете использовать http://activemq.apache.org/nms/ для подключения через C #.

0 голосов
/ 08 ноября 2011

То, что вы ищете, это именованные каналы.

http://msdn.microsoft.com/en-us/library/bb546085.aspx

0 голосов
/ 08 ноября 2011

Вы можете использовать именованные мьютексы для межпроцессной синхронизации.Ниже ссылки должны помочь вам понять мьютексы и методы синхронизации:

http://msdn.microsoft.com/en-us/library/system.threading.mutex(v=VS.100).aspx

http://www.albahari.com/threading/part2.aspx

Требуются: межпроцессная синхронизация, которая не страдает отAbandonedMutexException

...