Обнаружение WCF: System.UriFormatException создает ServiceHost с URI с подстановочным знаком (*)C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Обнаружение WCF: System.UriFormatException создает ServiceHost с URI с подстановочным знаком (*)

Сообщение Anonymous »

Моя цель:

запустить самостоятельную службу WCF, базовый адрес которой устанавливается во время выполнения в соответствии с доступной сетевой картой/ами; клиенты обнаруживают услугу и получают адрес.

Предыдущие ответы:

Я нашел ту же цель и предлагаемое решение здесь

Моя проблема:

Когда я запускаю консольное приложение хостинга, здесь выдается исключение:< /p>

Код: Выделить всё

var host = new ServiceHost(typeof(WcfPingTest), new Uri("http://*:7400/WcfPing"));
Сведения об исключении: System.UriFormatException: неверный URI: имя хоста не удалось проанализировать

Если я заменю * с localhost он работает, но не удовлетворяет моей задаче, а именно: получить от клиента реальный ip-адрес, а не жестко запрограммированный.
Я также пытался сделать это внутри файла app.config, но исключение то же:



Где я ошибся?

Дополнительная информация: код C#, .NET Framework 4.5



ОБНОВЛЕНИЕ:
Использование подстановочных знаков работает с использованием файла app.config:
и в консольном приложении:

Код: Выделить всё

var host = new ServiceHost(typeof(WcfPingTest))
С другой стороны, конструктор Uri не принимает параметр uriString с символом * внутри

< hr />

СЛЕДУЮЩАЯ ТЕМА: с приведенным выше исходным кодом мои клиенты получают URI во время выполнения, но этот URI содержит MY_COMPUTER_NAME, например http://MY_COMPUTER_NAME :7400/WcfPing вместо

Код: Выделить всё

http://MY_IP_ADDRESS:7400/WcfPing
Есть ли какой-нибудь способ получить фактический IP-адрес? (У меня есть несколько сетевых карт для разных локальных сетей)

Подробнее здесь: https://stackoverflow.com/questions/228 ... uri-with-a
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»