Microsof Tag Api – Render Sorunu (The maximum message size quota for incoming messages (65536) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element.)


Merhaba Microsoft Tag Severler,

Microsoft Tag Api’ini kullanarak karşılaştığım bir hatayı ve çözümünü sizlerle paylaşmak istiyorum. Render işlemi sırasında “DecorationType” i değiştirdiğiniz de hata ile karışılaşıyorsunuz. İşte sorun ve çözümü:

Sorun

MIBPContractClient OMIBPClient = new MIBPContractClient();
            UserCredential oCredential = new UserCredential();

            oCredential.AccessToken = "Enter your access token";
            byte[] oBarcode = OMIBPClient.GetBarcode(
                                    oCredential, Category Name, Tag Name,
                                    ImageTypes.tiff, Size,
                                    DecorationType.HCCBRP_DECORATION_NONE,
                                    Is Black or White);

DecorationType olarak:

  • HCCBENCODEFLAG_STYLIZED
  • HCCBRP_DECORATION_DOWNLOAD
  • HCCBRP_DECORATION_FRAMEPLAIN
  • HCCBRP_DECORATION_NONE (default)
  • HCCBRP_DECORATION_TEXT

yukarıdaki seçeneklerden birisni kullanabilirsiniz.

Eğer Default’tan başka bir DecorationType kullanacaksanız ve Tag’in float cinsinden size’inde değişiklik yapacaksınız işte o zaman aşağıdaki hatayı alacaksınız:

HATA:

    The maximum message size quota for incoming messages (65536) has 
been exceeded. To increase the quota, use the MaxReceivedMessageSize
property on the appropriate binding element.

Çözüm

Çözümün oldukça basit olduğunu söyleyebilirim. Hata mesajında zaten bizim, “MaxReceivedMessageSize”‘in boyutunu artırmamız gerektiğini söylüyor. Normal değeri (65536) olan maxReceivedMessageSize’ değerini Web.Config dosyamızdan 100000 yapıyoruz.

Bonus Sorun

Bu işlemi yaptığınız bu seferde aşağıdaki hatayı alıyorsunuz:

    For TransferMode.Buffered, MaxReceivedMessageSize and MaxBufferSize
must be the same value.
    Parameter name: bindingElement

Bu seferde MaxReceivedMessageSize ile MaxBufferSize‘in aynı değerde olmak zorunda olduğu ile ilgili bir mesaj alıyoruz.

Bonus Çözüm

Çözümü Web.Config dosyamızdan MaxReceivedMessageSize ile MaxBufferSize’in değerlerini aynı yapmak. İşte bu kadar.

 

Herhangi bir sorunuz olursa her zaman iletişime geçebililirsiniz.

, ,

  1. #1 by Ufuk TOPAL on January 12, 2012 - 10:23 am

    Hocam daha evvel yazılmış olan böyle bir servisi ben refere ettim ama.. Zaten bu servisde bahsedilen değerler 2147483646 olarak integer sınırlarınız zorluyor görünüyo..Ama ben yinede bunun sonuna 4 tane sıfır koyup 21474836460000 yaptığımda bu sefer aşağıdaki hatayı alıyorum :

    The requested service, ‘http://localhost/EGY_WCF/EGYS_DbProcess.svc’ could not be activated. See the server’s diagnostic trace logs for more information.

    ve bu değişiklik sonucunca Browser’dan Url i girincede hata alıyorum..

    • #2 by Mahmut Can Sözeri on January 17, 2012 - 2:45 pm

      Merhaba,

      Verilen hatanın açıklamasını yollarsanız sevinirim. Ayrıca integer değere “21474836460000” sayısını verdiğinizde 2 üzeri 32’yi geçecektir. Yani integer değerin sınırlarını açmış olacaksınız.

      Kolay gelsin

      İyi çalışmalar

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