net.msmqオーバーいるProtobufネットでこの問題を見て誰も
-
26-09-2019 - |
質問
私は私がいるProtobufネットを使用してWCF net.msmq上で大きなメッセージを送信する問題を見て、次のエラーを取得しています:
を 動作の要求メッセージのデシリアライズボディにエラー「DeliverData」:例外投げたフォーマッタはメッセージをデシリアライズしようとしているとき。終了要素の名前空間から 'プロト' 'ます。http:// MYNAMESPACEする'
期待メッセージサイズが16kの下にある場合、それは
作品 私がいるProtobufネットを削除する場合はは、それが
作品私はbasichttpに切り替えると、それは
作品 メッセージサイズがいるProtobufネット、net.msmq以上を使用して、16Kを超えている場合は、しかし、私はエラーを取得します。私はそれが助けをしない、十分大きなmaxBufferPoolSizeとmaxReceivedMessageSizeを設定しています。
誰がこれを見ていますか?誰が大きなメッセージのためにいるProtobufネット+のnet.msmqを使用して仕事にそれを得ていますか?
解決
遅延の謝罪 - 休日などはありません、私はそれで、特定の問題を見ていません。それは「エンド要素を」声をかけているという事実は、それが(いるProtobufネット<全角>本当にが巻き込ま前にある)時のxml層であることを示唆しています。あなたは、私は確実にこれを再現することができるとどのような方法を持っていますか?
<時間>調査の後、ここでの問題は、WCFのリーダー・クォータであるように思われます。例外は、MSMQによって飲み込まれるように思われるので、すぐに明らかではなかったです。あなたのバインディングを設定している場合、これは(設定する中、またはコードでを固定することができます。手動)System.Runtime.Serializationを参照し、適切に結合の.ReaderQuotas.MaxArrayLength
を増やすこともできます。最大許容値は2147483647
ある。