Обычный подход заключается в настройке вашего клиента с использованием файла конфигурации и указании имени сервера или IP-адреса в соответствии с вашими потребностями.
Но из того, что я могу сказать, вы делаете редизайн обслуживающего вызова для регулярных реконфигураций / обновлений клиента, и в этом случае ваши ручные изменения будут перезаписаны.
В этом случае у вас есть два подхода:
- Вы можете инициализировать клиент и установить параметры (включая URL-адрес службы) программно.
- Вы можете выбратьперезаписать имя сервера в вашем файле hosts, чтобы он указывал на нужный IP-адрес.
Самый правильный способ - выполнить инициализацию программно.Конкретное зависит от вашей реализации, но вот пример использования службы EchoService
.Это, вероятно, может быть упрощено;Я скопировал и вставил из инициализации теста, где мне нужен работающий хост.
public void SetUp()
{
// the service address
var baseAddress = new Uri("http://127.0.0.1:3123/");
host = new WebServiceHost(typeof(EchoService), baseAddress);
ServiceEndpoint sep = host.AddServiceEndpoint(typeof(IEchoService), new WebHttpBinding(), "");
sep.Behaviors.Add(new WebHttpBehavior());
echoFactory = new ChannelFactory<IEchoService>(new WebHttpBinding(), sep.Address);
echoFactory.Endpoint.Behaviors.Add(new WebHttpBehavior());
client = echoFactory.CreateChannel(sep.Address, baseAddress);
}