Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 18761|Atsakyti: 1

[WCF / Web Servics] Viršyta maksimali gaunamų pranešimų dydžio kvota (65536). Norėdami padidinti kvotą, naudokite ...

[Kopijuoti nuorodą]
Paskelbta 2017-04-24 17:02:30 | | |
Viršyta maksimali gaunamų pranešimų dydžio kvota (65536). Norėdami padidinti kvotą, naudokite atitinkamo susiejimo elemento ypatybę MaxReceivedMessageSize.


Naudodamas WCF, susiduriu su šiomis problemomis:


Viršyta maksimali gaunamų pranešimų dydžio kvota (65536). Norėdami padidinti kvotą, naudokite atitinkamo susiejimo elemento ypatybę MaxReceivedMessageSize.

Problemos aprašymas:

Kai klientas paskambina į WCF ir grąžina didelį kiekį duomenų, nėra jokių problemų su LAN (klientas rado problemą su mašina vietoje, konkreti priežastis nežinoma. Iškilo problema skelbiant ekstranete.


Išimties informacija, kurią užfiksuoja VS2012 derinimas, yra tokia: Perduodant duomenis HTTP kanalu įvyko klaida (duomenų nepavyko nuskaityti iš transportavimo ryšio: ryšys buvo uždarytas. )。

WCFStorm įrankio grąžinta išimtis yra: Viršyta maksimali gaunamų pranešimų dydžio kvota (65536). Norėdami padidinti kvotą, naudokite atitinkamo susiejimo elemento ypatybę MaxReceivedMessageSize.

Prieš klaidą tiek serveris, tiek klientas pridėjo šiuos parametrus:


Norėdami išspręsti problemą, serverio pusėje pridėkite šį kodą:

Tikiuosi, kad tai gali išspręsti jus, kurie susiduria su ta pačia problema.

Kiti sprendimai:

Perskaičius @sunny007sun įrašą http://bbs.csdn.net/topics/360255080, buvo rastas sprendimas http://www.cnblogs.com/happyhippy/archive/2011/07/02/2096482.html jo įrašą (dienoraštį).
"Silverlight" automatiškai sugeneruotame web.config nėra tarnybų konfigūracijos informacijos, todėl jį reikia įtraukti čia
    <services>
      <service behaviorConfiguration="MyBehavior" name="WcfService1.Service1">
        <endpoint address="" binding="basicHttpBinding" bindingConfiguration="NewBinding0"
          contract="WcfService1.IService1" />
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>
Tiesą sakant, vis dar yra skirtumas tarp service.name ir endpoint.contract, sutartis yra protokolas, atitinkantis paslaugų sutartį pagal WCF projektą, tai yra sąsaja IService1, o paslauga atitinka konkretų svc iškvietimą, tai yra Service1.

Iki šiol problema buvo išspręsta, ačiū @sunny007sun už 11 metų komandiravimo ir dienoraščių.





Ankstesnis:.NET/C# Huawei NB-IoT sąsajos derinimo įrankis [šaltinio kodas]
Kitą:"Winform ListView" dukart spustelėkite dešiniojo pelės mygtuko paspaudimo funkciją
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com