В настоящее время у меня есть конечная точка netTcpBinding
, которая прослушивает порт 8000.
Я настроил базовый адрес в файле app.config
вот так
net.tcp://*:8000/TestProject/Service
Это работает, как и ожидалось, и служба прослушивает порт 8000.
Моя проблема заключается в том, что эта служба будет развернута на сторонних компьютерах, и меня беспокоит конфликт портов (и появление System.Net.SocketException
при попытке открыть порт, который уже используется другим приложением).
Я могу обработать исключение и использовать IPGlobalProperties
для поиска доступного порта в коде для воссоздания базового адреса с использованием свободного порта, но я надеялся, что есть способ указать WCF использовать динамический порт в app.config
параметр.
Клиентским соединениям не нужно знать предопределенный номер порта, поскольку они используют WS-Discovery для поиска конечной точки сервера.