Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Связь между службой Windows и приложениями в разных пользовательских сеансах

Автор вопроса: IuriiZОтветов: 1

У меня такая ситуация:

Среда Windows Server с несколькими пользовательскими сеансами.

Служба Windows прослушивает известный порт.

Приложение Tray в каждой пользовательской сессии запускается автоматически.

Приложение Silverlight (SL) работает в браузере и взаимодействует со службой Windows с помощью сокетов и предопределенного порта.

Моя цель заключается в следующем: пользователь взаимодействует с приложением SL, приложение SL связывается со службой Windows с помощью сокетов, а затем служба Windows должна взаимодействовать с соответствующим приложением в трее, которое находится в том же сеансе пользователя, что и браузер, который инициирует вызов.

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

Вопрос: как определить / передать имена именованных каналов в службу Windows, чтобы установить правильное (служба Windows -> приложение лотка в правильном пользовательском сеансе) соединение?

windows-servicesnamed-pipes

Ответы

Ответ 1 · рейтинг 1 · IuriiZ

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы