Да, если ваша конфигурация действительна, не имеет значения, на каком сервере используется служба.
И да - клиенту все придется использовать один и тот же конфиг - вам, в основном, нужно указать «Азбуку WCF» - адрес, привязку (и, возможно, привязку конфигурации) и контракт - ГДЕ, КАК и КАКОЕ из вашего сервиса .
Вы можете разделить большую часть конфигурации - особенно конфигурации привязки - между сервером и клиентом с помощью этого метода: экстернализуйте определенные части конфигурации.
На вашем сервере есть что-то вроде:
<system.serviceModel>
<bindings configSource="bindings.config" />
</system.serviceModel>
и затем в вашем файле bindings.config
определите:
<bindings>
<basicHttpBinding>
<binding name="BasicNoSecurity">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
Таким образом, вы можете скопировать этот файл bindings.config
на клиентов и сослаться на него из файла конфигурации клиента, также предоставив одну и ту же информацию и убедившись, что она одинакова и актуальна для обоих концов связи.
Это также работает для любых других подразделов в <system.serviceModel>
(например, поведения, расширений и т. Д.).