Microsoft Tag Api – Render Sorunu (The maximum array length quota (16384) has been exceeded while reading XML data)


Microsoft Tag ile ilgili daha önceden genel olarak bilgi verdim ve tag manager’i anlatmaya çalıştım. Microsoft Tag Api’sinin nasıl kullanıldığını paylaşacağım bir yazımda fakat geçen gün kullanırken çok ilginç bir hata ile karşılaştım. İnternette aradığımda bu hatayı net olarak çözen bir yer karşılaştığım sırada bulamamıştım.

Sorun:

Microsoft Tag Api’si Web Service olarak bize sunuluyor ve biz bunu bize verilen “token” ile kullanabiliriyoruz.  Methodlardan sadece Render için çalışan method da byte dizisine atmaya çalışırken hata veriyordu.

byte[] oBarcode = OMIBPClient.GetBarcode(oCredential, categoryName, tagName, ImageTypes.png, 1f, DecorationType.HCCBRP_DECORATION_NONE, whiteBlack);

Yukarıdaki kod Render esnasında çalışıyordu ve şu hatayı veriyor:

“The formatter threw an exception while trying to deserialize the message: There was an error while trying to deserialize parameterhttp://www.ws.tag.microsoft.com/ver1:GetBarcodeResult. The InnerException message was ‘There was an error deserializing the object of type System.Byte[]. The maximum array length quota (16384) has been exceeded while reading XML data. This quota may be increased by changing the MaxArrayLength property on the XmlDictionaryReaderQuotas object used when creating the XML reader. Line 1, position 22784.’.  Please see InnerException for more details.”

Çözüm:

Çözümü aslında oldukça basit tabi yoğun şekilde çalışırken bu hata ile karşılaşmak bir an görememenize sebep verebiliyor.

Web.Config’te default olarak Render işlemi sırasında byte dizisinin alacağı max değeri 16K(kilobyte) yapıyor. Tag Image’ler ise ~45K.  Bu sorunun basit çözümü bu max değeri artırmak. maxArrayLength’i 100000(100K) yaptığınızda sorununuz çözülmüş olacaktır.

Aşağıdaki gibi değiştirebilirsiniz ilgili alanı:

<readerQuotas maxDepth=”32” maxStringContentLength=”8192” maxArrayLength=”100000”    maxBytesPerRead=”4096” maxNameTableCharCount=”16384” />

İşte Web.Config’teki son hali;

Son:

Her türlü sorunuz için tagsupp@microsoft.com (Microsoft Tag Support)’a mail atabilirsiniz. Size sorununuzu çözmüş şekilde hızlıca dönüyorlar.

 

İyi çalışmalar

, ,

  1. Leave a comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s