Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 18761|Odpoveď: 1

[WCF/Web Servisy] Maximálna kvóta veľkosti správy pre prichádzajúce správy (65536) bola prekročená. Na zvýšenie kvóty použite ...

[Kopírovať odkaz]
Zverejnené 24. 4. 2017 17:02:30 | | |
Maximálna kvóta veľkosti správy pre prichádzajúce správy (65536) bola prekročená. Na zvýšenie kvóty použite vlastnosť MaxReceivedMessageSize na príslušnom viazacom prvku.


Pri používaní WCF sa stretávam s nasledujúcimi problémami:


Maximálna kvóta veľkosti správy pre prichádzajúce správy (65536) bola prekročená. Na zvýšenie kvóty použite vlastnosť MaxReceivedMessageSize na príslušnom viazacom prvku.

Popis problému:

Keď klient zavolá WCF a vráti veľké množstvo dát, nie je problém s LAN (zákazník našiel problém na zariadení na mieste, presný dôvod nie je známy. Existuje problém s pridávaním príspevkov na extranet.


Výnimka, ktorú VS2012 Debug zachytáva, je: Pri prenose dát cez HTTP kanál nastala chyba (údaje nebolo možné čítať z transportného spojenia: spojenie bolo uzavreté. )。

Výnimka vrátená nástrojom WCFStorm je: Maximálna kvóta veľkosti správy pre prichádzajúce správy (65536) bola prekročená. Na zvýšenie kvóty použite vlastnosť MaxReceivedMessageSize na príslušnom viazacom prvku.

Pred chybou server aj klient pridali nasledujúce nastavenia:


Na serverovej strane pridajte nasledujúci kód na vyriešenie problému:

Dúfam, že to vyrieši aj vás, ktorí máte rovnaký problém.

Ďalšie riešenia:

Po prečítaní @sunny007sun príspevku http://bbs.csdn.net/topics/360255080 sa našlo riešenie http://www.cnblogs.com/happyhippy/archive/2011/07/02/2096482.html jeho zázname (blogu).
Web.config automaticky generovaný Silverlightom nemá konfiguračné informácie pre služby a je potrebné ho tu pridávať
    <services>
      <service behaviorConfiguration="MyBehavior" meno="WcfService1.Service1">
        <adresa koncového bodu="" binding="basicHttpBinding" bindingConfiguration="NewBinding0"
          contract="WcfService1.IService1" />
        <endpoint adresa="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>
V skutočnosti stále existuje rozdiel medzi service.name a endpoint.contract, contract je protokol, ktorý zodpovedá ServiceContract v rámci projektu WCF, teda rozhraniu IService1, a service zodpovedá špecifickému volaniu svc, teda Service1.

Zatiaľ bol problém vyriešený, ďakujem @sunny007sun za 11 rokov písania príspevkov a blogovania.





Predchádzajúci:.NET/C# Huawei NB-IoT nástroj na ladenie rozhrania [Zdrojový kód]
Budúci:Winform ListView dvojité kliknutie pravým tlačidlom
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com