C# で WSDL サービスを使用すると、2 つのパラメーターをコンストラクターに渡すことができます。BasicHttpBinding と EndpointAddress
BasicHttpBinding basicHttpBinding = new BasicHttpBinding { MaxReceivedMessageSize = 20000000, MaxBufferSize = 20000000 };
EndpointAddress endpointAddress = new EndpointAddress(delarsListUrl);
var ds = new DealersService.DealersServiceClient(basicHttpBinding,endpointAddress);
F# で WSDL 型プロバイダーを使用する場合、パラメーターを指定しないか、BasicHttpBinding 型のパラメーターを 1 つ指定してコンストラクターを呼び出すことしかできません。では、MaxReceivedMessageSize や MaxBufferSize などのパラメーターを設定するにはどうすればよいでしょうか?
編集:
これを Azure Worker ロールの app.config に入れると
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="basicHttp" allowCookies="true"
maxReceivedMessageSize="20000000"
maxBufferSize="20000000"
maxBufferPoolSize="20000000">
<readerQuotas maxDepth="32"
maxArrayLength="200000000"
maxStringContentLength="200000000"/>
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>
maxReceivedMessageSize が 64k しかないという例外が引き続き発生するため、変更する必要があります。私はC#で同じ問題を抱えていました.app.config設定は無視されているように見えたので、これらの設定でBasicHttpBindingをコンストラクタに渡すことで解決しました。