WCF не импортирует все настройки с вашего сервера. Там нет переключателя, чтобы включить это, либо. Хотя во многих случаях это может иметь смысл, не всегда будет хорошей идеей просто скопировать все настройки со стороны сервера на клиент.
Итак, в вашем случае вам нужно добавить эту привязывающую конфигурацию к вашему клиентскому прокси и ссылаться на нее с вашей конечной точки клиента.
Если вы контролируете оба конца провода, вы можете немного облегчить свою работу: перенести конфигурацию привязки в отдельный файл и сослаться на нее.
Создайте файл bindings.config
, содержащий:
<?xml version="1.0" ?>
<bindings>
<wsHttpBinding>
<binding name="default"
maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647"/>
</wsHttpBinding>
</bindings>
и затем вы можете скопировать этот файл как на сервер, так и в клиентский проект, и сослаться на него из конфигурации вашего сервиса и клиента:
<system.serviceModel>
<bindings configSource="bindings.config" />
<services>
<service name="WCF.Service.Service">
<endpoint address="ws" name="ws" bindingConfiguration="default" binding="wsHttpBinding" contract="WCF.Service.Contracts.IService" />
<endpoint address="mex" binding="mexHttpBinding" name="mex" contract="IMetadataExchange" />
</service>
</services>
и на стороне клиента:
<system.serviceModel>
<bindings configSource="bindings.config" />
<client>
<endpoint name="ws"
address="http://localhost:37444/Service.svc/ws"
binding="wsHttpBinding"
bindingConfiguration="default"
contract="IService">
<identity>
<userPrincipalName value="username@domain" />
</identity>
</endpoint>
</client>
</system.serviceModel>
Таким образом, вы можете настроить один раз привязки и использовать их в обоих местах.