BLOGas.lt
Sukurk savo BLOGą Kitas atsitiktinis BLOGas

Sharepoint Development

2010-05-21

Apie maksimalaus perduodamos informacijos kiekio padidinimą

Gali nutikti, kad atsakymai (pranešimai) iš Web servisų yra gana dideli (pvz., didelis prekių, darbuotojų, klientų sąrašas ir pan., didelis dokumentas ir t.t.) ir .net aplikacija pateikia klaidą apie tai, kad viršytas maksimalus pranešimo dydis (System.ServiceModel.Communication: The maximum size quota or incoming messages (xxxxxx) has been exceeded). Norint išvengti šios klaidos (ir užsitikrinti saugų programos veikimą) reikia padidinti MaxReceivedMessageSize dydį (kurio nutylimoji reikšmė yra 65536, t.y. 64 KB).

 Tam reikia surasti atitinkamą rišantįjį elementą. Jums teks redaguoti aplikacijos web.config (arba app.config) konfigūracinį failą. Jame suraskite binding elementą (pagal nurodytą hierarchinę schemą), kuris atrodys maždaug taip:

<configuration>
   …
   <system.serviceModel>
       <bindings>
           <basicHttpBinding>
               <binding name=”ObjectServicePortBinding” closeTimeout=”00:01:00″
                     … maxBufferSize=”65536″ maxBufferPoolSize=”524288″
                     maxReceivedMessageSize=”65536″ … >
                        …
               </binding>
                       …
           </basicHttpBinding>
       </bindings>
           …
   </system.serviceModel>
       …
</configuration>

 Pakeiskite maxBufferSize, maxBufferPoolSize ir maxReceivedMessageSize reikšmes į planuojamą didžiausią galimą Web serviso atsakymą. Tarkim, 512 KB reikšmę nurodo skaičius 524288. Aišku, elkitės protingai ir be reikalo pernelyg nepadidinkite šios reikšmės, nes tai atsilieps bendram sistemos produktyvumai, nes aplikacija reikalaus daugiau atminties resursų.

Beje, tai galima padaryti ir programiškai, bet apie tai kitą kartą.

Patiko (0)

Rodyk draugams



Nėra komentarų »

Dar nėra komentarų.

Šio įrašo komentarų RSS srautas. Citatos URL

Parašykite komentarą

„WordPress“ variklis. WPMU Theme pack by WPMU-DEV.