WCF XmlDictionaryReaderQuotas doesn't exist

本文关键字:exist XmlDictionaryReaderQuotas doesn WCF | 更新日期: 2023-09-27 18:35:29

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

我该怎么做才能使用配置文件来设置 maxArrayLength?

编辑:

我不能那样做:basichtttpbiding1。读取器配额。最大数组长度 = 1000000;在此之后,我没有任何选项可供选择:basichtttpbiding1。读者配额。[选项选择]

WCF XmlDictionaryReaderQuotas doesn't exist

已解决。

需要手动添加引用:System.Runtime.Serialization然后班级XmlDictionaryReaderQuotas将在System.Xml中展示

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

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

但是,如果您位于 Silverlight 等平台中(如果是这种情况,请在您的问题中添加相应的标记),则不会公开此属性。这是因为此配额未在该平台中强制执行 - 它的行为与配额存在的行为基本相同,但它被设置为最大值 (int.最大值)。所以你不需要增加它(它已经最大化了),你不能减少它。