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

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

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

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

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

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

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

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

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


person IuriiZ    schedule 19.02.2009    source источник


Ответы (1)


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

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

person IuriiZ    schedule 17.10.2010