Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 18761|Svar: 1

[WCF/Webtjenester] Den maksimale meddelelsesstørrelse for indkommende beskeder (65536) er blevet overskredet. For at øge kvoten, brug ...

[Kopier link]
Opslået på 24/04/2017 17.02.30 | | |
Den maksimale meddelelsesstørrelse for indkommende beskeder (65536) er blevet overskredet. For at øge kvoten skal du bruge MaxReceivedMessageSize-egenskaben på det relevante bindingselement.


Når jeg bruger WCF, støder jeg på følgende problemer:


Den maksimale meddelelsesstørrelse for indkommende beskeder (65536) er blevet overskredet. For at øge kvoten skal du bruge MaxReceivedMessageSize-egenskaben på det relevante bindingselement.

Problembeskrivelse:

Når klienten kalder WCF og returnerer en stor mængde data, er der intet problem med LAN'et (kunden har fundet et problem med en maskine på stedet, den specifikke årsag er ukendt. Der er et problem med at poste på extranettet.


Undtagelsesinformationen, som VS2012 Debug fanger, er: En fejl opstod under overførsel af data over en HTTP-kanal (data kunne ikke læses fra transportforbindelsen: forbindelsen var lukket. )。

Undtagelsen, som WCFStorm-værktøjet returnerer, er: Den maksimale meddelelsesstørrelse for indkommende beskeder (65536) er blevet overskredet. For at øge kvoten skal du bruge MaxReceivedMessageSize-egenskaben på det relevante bindingselement.

Før fejlen havde både serveren og klienten tilføjet følgende indstillinger:


Tilføj følgende kode på serversiden for at løse problemet:

Jeg håber, det kan løse dig, der oplever det samme problem.

Andre løsninger:

Efter at have læst @sunny007sun's indlæg http://bbs.csdn.net/topics/360255080, blev der fundet en løsning http://www.cnblogs.com/happyhippy/archive/2011/07/02/2096482.html hans rekord (blog).
Web.config, som automatisk genereres af Silverlight, har ikke konfigurationsinformation for tjenester og skal tilføjes her
    <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>
Faktisk er der stadig en forskel mellem service.name og endpoint.contract, contract er en protokol, der svarer til ServiceContract under WCF-projektet, altså grænsefladen IService1, og service svarer til det specifikke kald af svc, altså Service1.

Indtil videre er problemet løst, tak @sunny007sun for de 11 år med at poste og blogge.





Tidligere:.NET/C# Huawei NB-IoT Interface Debugging Tool [Kildekode]
Næste:Winform ListView dobbeltklik højreklik-funktion
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com