Судя по всему, у вас есть и служба, и клиент в одном исполняемом файле. Хотя это может быть сделано, когда вы хотите, чтобы они были на отдельных машинах, вам необходимо иметь исполняемый файл / хост для службы (либо самостоятельно размещенный, либо в IIS) и исполняемый файл для клиента. Каждый из них должен быть правильно настроен с адресом, привязкой и контрактом в соответствующем разделе конфигурации для него. Так что на сервере у вас будет что-то вроде этого:
<configuration>
<system.serviceModel>
<services>
<service name="YourService">
<endpoint address="http://MyServer:8000/..."
binding="BasicHttpBinding"
contract="Your.IContract" />
</service>
</services>
</system.serviceModel>
</configuration>
А на клиенте у вас будет это:
<configuration>
<system.serviceModel>
<client>
<endpoint address="http://MyServer:8000/..."
binding="BasicHttpBinding"
contract="Your.IContract"
name="ClientEndpoint" />
</client>
</system.serviceModel>
</configuration>
Главное, чтобы клиент и сервер могли взаимодействовать друг с другом через указанный порт и протокол (прежде всего, убедитесь, что брандмауэр не блокирует связь). Еще одна вещь, о которой следует помнить, это изменение протокола привязки, который может повлиять на другие аспекты вашей службы (безопасность важна, но также и то, что вы можете и не можете делать со службой).