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.
|