質問

JSON文字列を受け入れるWCFレストサービスがあります

パラメーターの1つは、数字の大きな文字列です

これにより、次のエラーが発生します。これは、SVC Trace Viewerをトレースおよび使用することで表示されます。

タイプのカルコンフィギュレーションのオブジェクトを脱上するエラーがありました。 XMLデータの読み取り中に、最大文字列コンテンツの長さクォータ(8192)を超えています。このクォータは、XMLリーダーを作成するときに使用されるXMLDictionaryReaderQuotasオブジェクトのMaxStringContentLengthプロパティを変更することにより、増加する場合があります。

今、私はこれを修正する方法をアドバイスするあらゆる種類の記事を読みました

それらはすべて、サーバーとクライアントのさまざまな構成設定を増やすことをお勧めします

例えばウェブサービスコールで文字列のシリアル化をエラーします

http://bloggingabout.net/blogs/ramon/archive/2008/08/20/wcf-and-large-messages.aspx

http://social.msdn.microsoft.com/forums/en/wcf/thread/f570823a-8581-45ba-8b0b-ab0c7d7fcae1

したがって、私の構成ファイルは次のようになります

 <webHttpBinding>
        <binding name="webBinding" maxBufferSize="5242880"  maxReceivedMessageSize="5242880" >
          <readerQuotas  maxDepth="5242880" maxStringContentLength="5242880" maxArrayLength="5242880" maxBytesPerRead="5242880" maxNameTableCharCount="5242880"/>
        </binding>
   </webHttpBinding>
...
...
...
<endpoint 
      address="/"
      binding="webHttpBinding"
      bindingConfiguration="webBinding"

私の問題は、サーバーでこれを変更できることですが、クライアントには休憩サービスとしてWCF構成設定がありません。 WebClient 物体

何か案は?

役に立ちましたか?

解決

そのため、相対的なアドレスではなく、エンドポイントアドレスに完全に適格なURLが必要であることがわかります

JSONを使用してWCF RESTサービスを呼び出すエラー。長さのクォータ(8192)を超えました

他のヒント

読者の割り当てはWCFのみのものであり、WebClient/HTTPWEBREQUESTは、その他の種類の割り当てを強制しないため、読者のクォータはWCFのみのものであり、WebClient/HTTPWebRequestが発生するため、このエラーは発生しません。

それで、私はそれがあなたが間違った場所に構成を置いていて、それが拾われていない可能性が高いと言うだろうと思います。

それか...あなたはクライアント側で手動でWCFデータコントラクトのシリアル化剤のいずれかを使用していないのですか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top