WCF サービスにアクセスしようとすると、次のエラーが発生します。
オブジェクト グラフでシリアライズまたはデシリアライズできるアイテムの最大数は '65536' です。オブジェクト グラフを変更するか、MaxItemsInObjectGraph クォータを増やします
調査を行ったところ、この設定をより高い値に更新するだけでよいようです。これは私がやろうとしていることですが、設定が構成から読み取られていないようです。値が 65536 の同じ例外が引き続き発生します。
このリンクにある指示に従いましたが、うまくいきません。
これは、WCF サービスの Web.Config で構成したものです。
<behaviors>
<serviceBehaviors>
<behavior name="metadataBehavior">
<serviceMetadata httpGetEnabled="true" httpGetUrl="" />
<serviceDebug includeExceptionDetailInFaults="false" />
<dataContractSerializer maxItemsInObjectGraph="2147483646"/>
</behavior>
</serviceBehaviors>
</behaviors>
これは、クライアントの app.config にあるものです。
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="True" />
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior >
<dataContractSerializer maxItemsInObjectGraph="2147483646"/>
</behavior>
</endpointBehaviors>
</behaviors>
最後に、WCF サービス自体に次の属性があります。
[ServiceBehavior(MaxItemsInObjectGraph = 2147483646, IncludeExceptionDetailInFaults = true)]
上記の構成にもかかわらず、65536 値について不平を言う例外が引き続き発生します。これらの設定がアプリケーションで使用されないのはなぜですか? 他にどこかに設定する必要があるものはありますか?