Вам не нужно жестко задавать URL службы.Замените жестко закодированную строку, которая либо передается в качестве аргумента, либо вызывает функцию (или получает свойство некоторого объекта), чтобы заполнить конструктор допустимым URL-адресом службы.
Вот один из многих способов:
var serviceClient = new DuplexCallerIdServiceClient(
new PollingDuplexHttpBinding(PollingDuplexMode.MultipleMessagesPerPoll),
new EndpointAddress(Info.Instance.ServiceURL));
Где Info - одноэлементный объект, Instance получает его экземпляр, а ServiceUrl - строковое свойство, которое ... откуда угодно.База данных, файл конфигурации, жестко запрограммированный файл для запуска и т. Д. *
PS Осторожно с шаблоном Singleton, но как объекты информации конфигурации они могут быть очень полезны.