сервисный порт wcf - PullRequest
       3

сервисный порт wcf

1 голос
/ 23 июля 2010

У меня на одном компьютере запущены два процесса. Каждый процесс содержит службу WCF для асинхронной связи между процессами. На данный момент я назначил фиксированные порты 8731 и 9000 двум службам wcf. Что делать, если на клиентском компьютере эти порты заняты? Как я могу динамически заставить клиента wcf найти службу wcf, если бы я должен был динамически распределить доступный порт?

Заранее спасибо за помощь.

Ответы [ 2 ]

3 голосов
/ 23 июля 2010

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

0 голосов
/ 25 января 2018

Я опоздал на этот пост, но сегодня у нас есть лучшее решение для этой проблемы. Существует конечная точка конфигурации, известная как listenUriMode (https://msdn.microsoft.com/en-us/library/system.servicemodel.description.listenurimode(v=vs.110).aspx),, если мы установим это значение в «Уникальный», она будет привязывать имя хоста к порту 0, что попросит ОС назначить свободный порт.

Теперь клиент может узнать о порте сервера, используя обнаружение WCF (https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/wcf-discovery-overview).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...