IIS でホストされている WCF サービスで NetMessagingBinding を使用して、Windows Server Service Bus トピックで発行されたメッセージを使用しています。
私の理解では、Windows Server Service Bus のトピックのメッセージ サイズに制限はありませんが、サブスクリプションからメッセージを逆シリアル化するときにエラーが発生します。
System.ServiceModel.Dispatcher.NetDispatcherFaultException: (...)
The maximum string content length quota (8192) has been exceeded while reading XML data.
This quota may be increased by changing the MaxStringContentLength property on the XmlDictionaryReaderQuotas object used when creating the XML reader.'.
Please see InnerException for more details. ---> System.Runtime.Serialization.SerializationException: There was an error deserializing the object of type [Type].
The maximum string content length quota (8192) has been exceeded while reading XML data. This quota may be increased by changing the MaxStringContentLength property on the XmlDictionaryReaderQuotas object used when creating the XML reader. ---> System.Xml.XmlException:
The maximum string content length quota (8192) has been exceeded while reading XML data. This quota may be increased by changing the MaxStringContentLength property on the XmlDictionaryReaderQuotas object used when creating the XML reader.
私が見る方法では、最大文字列コンテンツを変更するために WCF の web.config で変更できる構成はありません。関連する唯一のプロパティは MaxBufferPoolSize ですが、web.config を通じて公開されていません。
使用されるバインディング構成は次のとおりです。
<bindings>
<netMessagingBinding>
<binding name="messagingBinding"
closeTimeout="00:03:00" openTimeout="00:03:00"
receiveTimeout="00:03:00" sendTimeout="00:03:00"
prefetchCount="-1" sessionIdleTimeout="00:01:00">
<transportSettings batchFlushInterval="00:00:01" />
</binding>
</netMessagingBinding>
</bindings>
前もって感謝します、
ジョアン・カルロス・デ・スーザ