9

我想在 basichtttpbiding 中设置 maxArrayLength。但是在没有配置文件的情况下,唯一的方法是创建一个 XmlDictionaryReaderQuotas,它在 System.xml 中不存在,并将其放在 BasicHttpBinding1.ReaderQuotas 中。

在不使用配置文件的情况下如何设置 maxArrayLength ?

编辑:

我不能那样做:basichtttpbiding1.ReaderQuotas.MaxArrayLength = 1000000; 因为在此之后我没有任何选项可供选择:basichtttpbiding1.ReaderQuotas.[Options to choose]

4

2 回答 2

22

解决了。

需要手动添加引用:System.Runtime.Serialization 然后类XmlDictionaryReaderQuotas会显示在System.Xml

于 2012-05-26T15:24:33.690 回答
3

您不需要创建XmlDictionaryReaderQuotas. 绑定已经有一个这样的实例,所以你可以直接使用它:

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

但是,如果您使用的是 Silverlight 等平台(如果是这种情况,请在您的问题中添加适当的标签),则不会公开此属性。那是因为这个配额在那个平台上没有被强制执行——它本质上与配额存在的行为相同,但是它被设置为最大值(int.MaxValue)。所以你不需要增加它(它已经被最大化了),你不能减少它。

于 2012-05-26T13:56:20.373 回答