У меня есть вопрос о вашей нынешней конфигурации. Почему вы используете абсолютный сервисный адрес в своем адресе конечной точки? если служба размещена в IIS, базовый адрес предоставляется модулем привязки сайта IIS.
Таким образом, я подозреваю, что текущее действующее соединение не использует этот адрес конечной точки,что приводит к сбою параметра MaxReceivedMessageSize. Я хотел бы знать, какой адрес службы фактически используется клиентом. Только применение конфигурации к правильному адресу конечной точки службы может вступить в силу.
Обновлено.
Кажется, что вышеупомянутая конфигурация находится на стороне клиента, а нижеуказанная конфигурация находится на сервере. сторона. Кроме того, служба WCF содержит несколько контрактов на обслуживание.
Конфигурация на стороне сервера явно не объявляет, как создается служба. В файле конфигурации нет ни раздела Services, ни раздела ProtocolMapping. как в форме ниже.
<services>
<service name="ConsoleApp3.TestService">
<endpoint address="" binding="basicHttpBinding" contract="ConsoleApp3.ITestService" ></endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"></endpoint>
</service>
</services>
И,
<protocolMapping>
<add binding="webHttpBinding" scheme="http"/>
</protocolMapping>
А именно, он использует привязку Basichttp по умолчанию для создания службы. нет никакого способа применить настройку к правильной конечной точке службы.
Я предлагаю вам попробовать приведенную ниже конфигурацию на стороне сервера.
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="mybinding" maxBufferSize="20000000" maxReceivedMessageSize="2147483647" >
<readerQuotas maxDepth="2000000" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
<protocolMapping>
<add binding="basicHttpBinding" scheme="http" bindingConfiguration="mybinding"/>
</protocolMapping>
</system.serviceModel>
Он также может поддерживать несколько сервисных контрактов.
Не стесняйтесь, дайте мне знать, если проблема все еще существует.