しばらくの間正常に動作しているWCFサービスがあり、それに何かを追加することにしました。古いものはすべて正常に機能し、新しいものはクライアントからホストへの小規模な転送で機能します。ただし、クライアントが大きな文字列をホストに送信しようとすると、「(400)BadRequest」で爆発します。ホストは何も変更せずに、同じかそれ以上のアイテムを問題なくクライアントに送信できます。
私はここや他のサイトを見回しましたが、同じ問題を抱えている人を見つけましたが、彼らの解決策(app.configのサイズと長さを増やす)は私の問題に対して何の成功ももたらしませんでした。
Web.config
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
<behavior name="Throttled">
<serviceThrottling
maxConcurrentCalls="1000"
maxConcurrentSessions="1000"
maxConcurrentInstances="1000" />
<serviceMetadata
httpGetEnabled="true"
httpGetUrl="" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
</system.serviceModel>
app.config
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="64" maxStringContentLength="2147483647" maxArrayLength="2147483647"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="---HostingSiteURL---/Service.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService"
contract="SimSyncServiceReference.IService" name="BasicHttpBinding_IService" />
</client>
</system.serviceModel>