2015-05-27 2 views
0

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

Я хочу, чтобы мое приложение формы Windows получало эти события. Это возможно?

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

+0

Как вы это сделаете, это зависит от того, какое событие вам нужно. Вы хотите просто поднять флаг, о котором все слушатели будут уведомлены или вы хотите передать данные через событие? –

+0

HI, мне просто нужно его запустить событие уведомления, чтобы приложение win могло обновиться. – Kim

ответ

1

В вашем приложении Win может размещаться конечная точка службы WCF. Ваша служба Win попытается вызвать метод. Уведомлять о разрешении этой службы WCF на localhost. Когда приложение Win запущено, Win Service успешно подключится и вызовет метод Notify.

+0

Возможно, лучше, чтобы сервис был конечной точкой, а не приложением. Служба не будет знать, к каким конечным точкам необходимо подключиться (каждому экземпляру потребуется конечная точка с уникальным именем). –

+0

Да, в этом случае для уведомления будет необходим обратный вызов. –

2

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

Это также позволит несколько клиентов, а также удаленным клиентам, при необходимости

Для очень старого кода есть .NET Remoting, но лучше, чтобы обновить код, чтобы использовать новые рамки, если это возможно.

+2

WCF, да, .NET Remoting, no. Это унаследованная технология, которую нельзя использовать в новой разработке. –

+0

@JohnSaunders Правда, должен был упомянуть, что только при использовании старых фреймворков. Редактирование –

+0

WCF очень подходит для этого, и если вы используете только одну машину, то NetNamedPipeBinding, скорее всего, лучший вариант для вашей привязки WCF для использования. –

Смежные вопросы