Microsoftが提供するwcf 4 RESTテンプレートを使用して、長い(約155000文字)base64文字列をWCF RESTサービスに送信しようとしています。クライアントアプリケーションまたはフィドラーからPOSTメソッドを使用してXMLを送信しようとするたびに、私の要求に応じてHTTPステータスコード400が返されます。適切なweb.config設定があり、さまざまなブログ投稿や他のスタックオーバーフロー投稿からまとめられました。WCF 4 RESTテンプレートとベース64文字列 - HTTP 400
<bindings>
<webHttpBinding>
<binding name="httpBinding" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" transferMode="Streamed" openTimeout="00:25:00" closeTimeout="00:25:00" sendTimeout="00:25:00" receiveTimeout="00:25:00">
<readerQuotas maxDepth="64"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647"/>
</binding>
</webHttpBinding>
</bindings>
私はここで何が欠けていますか?他のすべては素晴らしい作品です。私はtext/xml形式のリクエストをサービスに提出し、それ以外のものはすべてbase64文字列で作業していない限り200を返します。私はwcfのメッセージサイズについて百万もの他の投稿があることを知っていますが、私は誰かが私のことをすばやく見ていただければ幸いです。
ここでは、私が処理するwcfサービスを取得しようとしているサンプルリクエストに対するlinkです。
私は誰でも考えていただければ幸いです。
回答ありがとうございます。私は、サービスに来るリクエストを管理するルートを使用しています.svcファイルはありません。私はトレースを有効にして、私が何を考え出すかを見てみましょう。 – jdb1a1
トレースを有効にしました。「受信メッセージ(65536)の最大メッセージサイズのクォータが超過しました。」私にとっては、これはweb.configで最大のサイズの編集を取り上げていないことを意味します。 wcf 4 restテンプレートのweb.configの外観はどうでしょうか? – jdb1a1
ルートを使用している場合は、WebServiceHostFactoryで作成されたデフォルトのバインディングを使用しています(ルートとRESTを使用しているため)。デフォルトのバインディングの設定を変更するには、web.configからname属性を削除するだけです: –
carlosfigueira