Обычно третий параметр в AddServiceEndpoint
- это адрес службы.
Если вы определили базовый адрес (как у вас - http://{0}:8002/hello
), это относительный адрес - он будет добавлен к базовому адресу для соответствующего протокола.
Таким образом, в вашем случае, добавив эту конечную точку службы, вы получите конечную точку по адресу:
http://{0}:8002/hello/hello
Можете ли вы подключиться к этой конечной точке и поговорить со службой ??
Или вы можете определить полностью указанный адрес - это особенно полезно, если у вас нет базовых адресов. Если вы укажете полный адрес, этот адрес будет использоваться (переопределяя базовый адрес, определенный). Так что если вы используете:
AddServiceEndpoint(c, b, "http://server:8888/HelloService")
тогда ваша служба будет доступна по этому конкретному URL-адресу независимо от вашего базового адреса, определенного ранее.
Обновление: спасибо за ваш комментарий. Да, если вы определяете режим безопасности как «Транспортный», вам необходимо использовать https://
для всех ваших адресов.
Определение базового адреса:
string addressHttp = String.Format("https://{0}:8002/hello", System.Net.Dns.GetHostEntry("").HostName);
или переопределение с полным адресом:
AddServiceEndpoint(c, b, "https://server:8888/HelloService")