Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 18761|Svar: 1

[WCF/Webtjänster] Den maximala meddelandestorlekskvoten för inkommande meddelanden (65536) har överskridits. För att öka kvoten, använd ...

[Kopiera länk]
Publicerad på 2017-04-24 17:02:30 | | |
Den maximala meddelandestorlekskvoten för inkommande meddelanden (65536) har överskridits. För att öka kvoten, använd egenskapen MaxReceivedMessageSize på det aktuella bindningselementet.


När jag använder WCF stöter jag på följande problem:


Den maximala meddelandestorlekskvoten för inkommande meddelanden (65536) har överskridits. För att öka kvoten, använd egenskapen MaxReceivedMessageSize på det aktuella bindningselementet.

Problembeskrivning:

När klienten anropar WCF och returnerar stora mängder data uppstår inga problem med LAN:et (kunden har hittat ett problem med en maskin på plats, den exakta orsaken är okänd). Det finns ett problem med att posta på extranätet.


Undantagsinformationen som VS2012 Debug fångar upp är: Ett fel uppstod vid överföring av data över en HTTP-kanal (data kunde inte läsas från transportanslutningen: anslutningen var stängd. )。

Undantaget som returneras av WCFStorm-verktyget är: Den maximala meddelandestorlekskvoten för inkommande meddelanden (65536) har överskridits. För att öka kvoten, använd egenskapen MaxReceivedMessageSize på det aktuella bindningselementet.

Före felet hade både servern och klienten lagt till följande inställningar:


Lägg till följande kod på serversidan för att lösa problemet:

Jag hoppas att det kan lösa dig som upplever samma problem.

Andra lösningar:

Efter att ha läst @sunny007sun inlägg http://bbs.csdn.net/topics/360255080 hittades en lösning http://www.cnblogs.com/happyhippy/archive/2011/07/02/2096482.html hans rekord (blogg).
Web.config som automatiskt genereras av Silverlight har ingen konfigurationsinformation för tjänster och måste läggas till här
    <services>
      <service behaviorConfiguration="MyBehavior" name="WcfService1.Service1">
        <endpoint address="" binding="basicHttpBinding" bindingConfiguration="NewBinding0"
          kontrakt="WcfService1.IService1" />
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>
Faktum är att det fortfarande finns en skillnad mellan service.name och endpoint.contract, kontrakt är ett protokoll som motsvarar ServiceContract under WCF-projektet, det vill säga gränssnittet IService1, och tjänsten motsvarar det specifika anropet av svc, det vill säga Service1.

Hittills har problemet lösts, tack @sunny007sun för de 11 åren av postande och bloggande.





Föregående:.NET/C# Huawei NB-IoT gränssnittsfelsökningsverktyg [Källkod]
Nästa:Winform ListView dubbelklick högerklicksfunktion
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com