私は、適度に大きなオブジェクトをWCFサービスに送信するユニットテストを行っています。そのパラメータにnullを渡すと、すべて正常に動作します。人口が多いオブジェクトを送信すると、HTTP 400の応答が返されます。WCFに大きなオブジェクトを送信すると400の不正要求が発生する
<basicHttpBinding>
<binding name="BasicHttpBinding_IMyAppService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="200000000" maxBufferPoolSize="200000000" maxReceivedMessageSize="200000000"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxArrayLength="200000000" maxStringContentLength="200000000"/>
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
を私は何をしないのです:次のように私はユニットテストプロジェクトのapp.configをでサイズの設定パラメータをアップクランクている、しかし
The maximum message size quota for incoming messages (65536) has been exceeded.
:
WCFのトレースは、このエラーを示しますエラーメッセージに表示されている65536を超えて許可されたメッセージサイズを引き上げる設定ですか?
UPDATE:Webサービスホストの
web.configファイルは、(私が思う)大きな値にmaxReceivedMessageSizeを設定します。
<binding name="basicHttpBindingConfig" maxReceivedMessageSize="20000000" maxBufferSize="20000000" maxBufferPoolSize="20000000">
<readerQuotas maxDepth="32" maxArrayLength="200000000" maxStringContentLength="200000000"/>
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Ntlm"/>
</security>
</binding>
申し訳ありませんが、私は元の質問また、Webサービスのweb.configにmaxReceivedMessageSizeを設定しました。特定の設定で質問が更新されました。そこに問題がありますか? –
Webサービスのホストはどこですか?Windowsサービスでホストされている場合は、appnameを確認してください。 – KrishHari
現時点では、VS 2010のウェブサイトプロジェクトでホストされています。そのプロジェクト用のweb.configがあります(ここではappnameはアプリケーション名です)。 (関連する部分は現在質問に掲載されています) –