Silverlight クライアント アプリケーションと WCF Web サービス間の通信に、Polling Duplex Binding を使用しています。xml 文字列パラメーターを使用して Web サービスからメソッドを非同期的に呼び出すことにより、Silverlight Web アプリケーションから WCF Web サービスにメッセージをプッシュします。非常に大きなxml文字列を送信しようとするまで、すべてがうまくいきました。次に、メッセージが表示されます。
「メッセージを逆シリアル化しようとしているときに、フォーマッタが例外をスローしました: 操作 'SendUserSelection' の要求メッセージの本文を逆シリアル化する際にエラーが発生しました。XML データの読み取り中に、文字列コンテンツの最大長クォータ (8192) を超えました。このクォータは、変更することで増加する可能性があります。 XML リーダーの作成時に使用される XmlDictionaryReaderQuotas オブジェクトの MaxStringContentLength プロパティ。"
この場合、通常、web.config ファイル内のバインディングの maxStringContentLength プロパティを増やします。ここでの問題は、readerQuotas 要素 (maxStringContentLength を含む) をバインディングに追加しようとすると、まったく考慮されないことです。これは既知の問題であることがわかりました: http://blogs.msdn.com/b/silverlightws/archive/2010/04/04/some-known-wcf-issues-in-silverlight-4.aspx。そこに示されている解決策は、Polling Duplex 要素を含むカスタム バインディングを使用することです。私はそれを試しましたが、どういうわけかうまくいきませんでした。
私の質問は、この問題に対する他の回避策がありますか、それともこれが唯一の解決策ですか?