запустить самостоятельную службу WCF, базовый адрес которой устанавливается во время выполнения в соответствии с доступной сетевой картой/ами; клиенты обнаруживают услугу и получают адрес.
Предыдущие ответы:
Я нашел ту же цель и предлагаемое решение здесь
Моя проблема:
Когда я запускаю консольное приложение хостинга, здесь выдается исключение:< /p>
Код: Выделить всё
var host = new ServiceHost(typeof(WcfPingTest), new Uri("http://*:7400/WcfPing"));
Если я заменю * с localhost он работает, но не удовлетворяет моей задаче, а именно: получить от клиента реальный ip-адрес, а не жестко запрограммированный.
Я также пытался сделать это внутри файла app.config, но исключение то же:
Где я ошибся?
Дополнительная информация: код C#, .NET Framework 4.5
ОБНОВЛЕНИЕ:
Использование подстановочных знаков работает с использованием файла app.config:
Код: Выделить всё
Код: Выделить всё
var host = new ServiceHost(typeof(WcfPingTest))
< hr />
СЛЕДУЮЩАЯ ТЕМА: с приведенным выше исходным кодом мои клиенты получают URI во время выполнения, но этот URI содержит MY_COMPUTER_NAME, например http://MY_COMPUTER_NAME :7400/WcfPing вместо
Код: Выделить всё
http://MY_IP_ADDRESS:7400/WcfPing
Подробнее здесь: https://stackoverflow.com/questions/228 ... uri-with-a