2012-05-26 26 views
7

Ben basArttttpbiding içinde maxArrayLength ayarlamak istiyorum. Bunu yapmanın tek yolu, yapılandırma dosyasıyla , System.xml'da exsist olmayan bir XmlDictionaryReaderQuotas, oluşturmak ve BasicHttpBinding1.ReaderQuotas içine koymaktır.WCF XmlDictionaryReaderQuotas mevcut değil

MaxArrayLength , yapılandırma dosyasını kullanarak dışarıda ayarlamak için ne yapabilirim?

DÜZENLEME:

Bunu yapamam: basichtttpbiding1.ReaderQuotas.MaxArrayLength = 1000000; becouse Bundan sonra seçmek için herhangi bir seçenek yok: basichtttpbiding1.ReaderQuotas. [Seçenekler seçmek için]

cevap

19

Çözüldü. elle başvuru eklemek için

İhtiyacı: o zaman System.Runtime.Serialization ve sınıf XmlDictionaryReaderQuotas System.XML gösterecektir

3

XmlDictionaryReaderQuotas örneğini oluşturmanız gerekmez. bağlayıcı zaten böyle bir örneği vardır, bu nedenle doğrudan kullanabilirsiniz:

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

Eğer bir platformda iseniz Silverlight gibi, ancak (ve eğer durum buysa, sorunuzu uygun etiketi ekleyin) , bu özellik maruz değil. Çünkü bu kota bu platformda zorlanmıyor - aslında kota mevcut gibi davranıyordu, ancak maksimum değere ayarlandı (int.MaxValue). Bu yüzden onu artırmanız gerekmez (zaten çoktan çıkarılmış) ve onu azaltamazsınız.

+0

Bunu yapamam: = 1000000 bhb.ReaderQuotas.MaxArrayLength; Bundan sonra seçmek için herhangi bir seçeneğim yok: bhb.ReaderQuotas. [Seçmek için seçenekler]. –