Изолированные именованные каналы на сессиях терминального сервера

Если мое приложение запускается, я проверяю сначала, существует ли уже экземпляр приложения и если да, я даю фокус рабочему экземпляру и завершаю недавно созданный процесс. Я делаю это с именованным каналом, который регистрируется через WCF. Это хорошо работает до сих пор.

Теперь мое приложение будет также использоваться в среде терминального сервера. Действительно ли правильно, что именованные каналы в масштабе всей системы, так, чтобы я изменил логику запуска для не предоставления фокуса экземплярам других пользователей (что, конечно, не будет работать, но повреждать мое приложение), или Терминальный сервер (2003R2) изолирует WCF-привязку для каждой TS-сессии?

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

Обновление

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

Вопрос однако нерешен во всяком случае и возможно кто-то, который имеет хороший WCF - знание может ответить на это. Это было бы интересно.

9
задан Community 23 May 2017 в 12:16
поделиться

1 ответ

Именованные трубы являются общесистемными. Нет префикса "Global" или "Local", как для других типов объектов ядра.

Это происходит потому, что именованные трубы используются как часть сетевого ресурса, например, myComputer\pipename. Объекты, получившие префиксы "Global" и "Local" (события, семафоры, мьютексы, таймеры, отображения файлов и задания), привязаны к компьютеру и не могут быть доступны другому компьютеру.

8
ответ дан 4 December 2019 в 21:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: