web-dev-qa-db-ja.com

着信メッセージの最大メッセージサイズクォータ(65536)を超えました

いくつかのテーブルのスコープを作成しているときにこの例外が発生します

<bindings>
    <wsHttpBinding>
        <binding name="wsHttpBinding_ISyncServices" closeTimeout="00:10:00"
            openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
            transactionFlow="false" hostNameComparisonMode="StrongWildcard"
            maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
            <readerQuotas maxDepth="32" maxStringContentLength="2147483647"
                maxArrayLength="2147483647" maxBytesPerRead="2147483647"
                maxNameTableCharCount="2147483647" />
            <reliableSession ordered="true" inactivityTimeout="00:10:00"
                enabled="false" />
            <security mode="Message">
                <transport clientCredentialType="Windows"
                    proxyCredentialType="None" realm="">
                    <extendedProtectionPolicy policyEnforcement="Never" />
                </transport>
                <message clientCredentialType="Windows"
                    negotiateServiceCredential="true" algorithmSuite="Default" />
            </security>
        </binding>
    </wsHttpBinding>
</bindings>

私は2147483647にMaxReceivedMessageSizeを作成しましたが、それでもこの行で以下の例外を与えています

 client.GetTableDescription(scopeName, syncTable)

着信メッセージの最大メッセージサイズクォータ(65536)を超えました。
クォータを増やすには、適切なバインディング要素でMaxReceivedMessageSizeプロパティを使用します。

64
Onkar

この質問の答え

次のようなものが必要になります。

<bindings>
     <basicHttpBinding>
         <binding name="basicHttp" allowCookies="true"
 maxReceivedMessageSize="20000000"
 maxBufferSize="20000000"
 maxBufferPoolSize="20000000">
             <readerQuotas maxDepth="32"
 maxArrayLength="200000000"
 maxStringContentLength="200000000"/>
         </binding>
     </basicHttpBinding> </bindings>

そこに受け入れられた答えへのコメントも読んでください。貴重な情報が含まれています。

102

また、 maxBufferSize を増やす必要があります。また、 readerQuotas を増やす必要がある場合があることに注意してください。

12
RQDQ

サーバーとクライアントのバインディング構成(app.configファイル)を変更する必要があります。変更しないと有効になりません。

<system.serviceModel>
    <bindings>
        <basicHttpBinding>
            <binding maxReceivedMessageSize="2147483647 " max...=... />
        </basicHttpBinding>
       </bindings>
</system.serviceModel>
9
flayn

CustomBindingを使用している場合、httptransport要素を変更する必要があります。として設定

<customBinding> <binding ...> ... <httpsTransport maxReceivedMessageSize="2147483647"/> </binding> </customBinding>

7
Softec

これは私のために働いた:

 Dim binding As New WebHttpBinding(WebHttpSecurityMode.Transport)
 binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None
 binding.MaxBufferSize = Integer.MaxValue
 binding.MaxReceivedMessageSize = Integer.MaxValue
 binding.MaxBufferPoolSize = Integer.MaxValue
5
Denis

Configを変更しても役に立たなかった。フォローはうまくいきました

private YourAPIClient GetClient()
    {
        Uri baseAddress = new Uri(APIURL);
        var binding = new BasicHttpBinding();
        binding.MaxReceivedMessageSize = 20000000;
        binding.MaxBufferSize = 20000000;
        binding.MaxBufferPoolSize = 20000000;
        binding.AllowCookies = true;
        var readerQuotas = new XmlDictionaryReaderQuotas();
        readerQuotas.MaxArrayLength = 20000000;
        readerQuotas.MaxStringContentLength = 20000000;
        readerQuotas.MaxDepth = 32;
        binding.ReaderQuotas = readerQuotas;
        if (baseAddress.Scheme.ToLower() == "https")
            binding.Security.Mode = BasicHttpSecurityMode.Transport;
        var client = new YourAPIClient(binding, new EndpointAddress(baseAddress));
        return client;
    }
2
p_champ

私の解決策は、共通パラメーターの一部であるクエリで「-OutBuffer 2147483647」パラメーターを使用することでした。 PS C:> Get-Help about_CommonParameters -Full

0
user3499962

私にとっては、web.config/app.configは無視されました。バインドを手動で作成して、問題を解決しました。

var httpBinding = new BasicHttpBinding()
{
    MaxBufferPoolSize = Int32.MaxValue,
    MaxBufferSize = Int32.MaxValue,
    MaxReceivedMessageSize = Int32.MaxValue,
    ReaderQuotas = new XmlDictionaryReaderQuotas()
    {
        MaxArrayLength = 200000000,
        MaxDepth = 32,
        MaxStringContentLength = 200000000
    }
};
0
MichaelCleverly