9

basichtttpbiding で maxArrayLength を設定したい。ただし、構成ファイルを使用せずにこれを行う唯一の方法は、 System.xml に存在しない XmlDictionaryReaderQuotasを作成し、それを BasicHttpBinding1.ReaderQuotas に配置することです。

構成ファイルを使用せずに maxArrayLength を設定するにはどうすればよいですか?

編集:

私はそれを行うことはできません: basichtttpbiding1.ReaderQuotas.MaxArrayLength = 1000000; この後に選択するオプションがないため: basichtttpbiding1.ReaderQuotas.[選択するオプション]

4

2 に答える 2

22

解決しました。

参照を手動で追加する必要があります。System.Runtime.Serialization そうすると、クラスXmlDictionaryReaderQuotasがに表示されます。System.Xml

于 2012-05-26T15:24:33.690 に答える
3

のインスタンスを作成する必要はありませんXmlDictionaryReaderQuotas。バインディングにはすでにそのようなインスタンスが 1 つあるため、直接使用できます。

BasicHttpBinding bhb = new BasicHttpBinding;
bhb.ReaderQuotas.MaxArrayLength = 1000000;

ただし、Silverlight などのプラットフォームを使用している場合 (その場合は、質問に適切なタグを追加してください)、このプロパティは公開されません。これは、このクォータがそのプラットフォームで強制されていないためです。基本的には、クォータが存在する場合と同じ動作ですが、最大値 (int.MaxValue) に設定されています。したがって、それを増やす必要はありません (既に上限に達しています)。また、減らすこともできません。

于 2012-05-26T13:56:20.373 に答える