Cota maximă de dimensiune a mesajelor primite (65536) a fost depășită. Pentru a crește cota, folosiți proprietatea MaxReceivedMessageSize pe elementul de legătură corespunzător.
Folosind WCF, întâmpin următoarele probleme:
Cota maximă de dimensiune a mesajelor primite (65536) a fost depășită. Pentru a crește cota, folosiți proprietatea MaxReceivedMessageSize pe elementul de legătură corespunzător.
Descrierea problemei:
Când clientul apelează la WCF și returnează o cantitate mare de date, nu există nicio problemă cu LAN-ul (clientul a găsit o problemă cu o mașină la fața locului, motivul specific este necunoscut). Există o problemă cu postarea pe extranet.
Informația excepțională pe care VS2012 Debug o detectează este: O eroare apărea în timpul transferului datelor pe un canal HTTP (datele nu puteau fi citite din conexiunea de transport: conexiunea era închisă. )。
Excepția returnată de instrumentul WCFStorm este: Cota maximă de dimensiune a mesajelor primite (65536) a fost depășită. Pentru a crește cota, folosiți proprietatea MaxReceivedMessageSize pe elementul de legătură corespunzător.
Înainte de eroare, atât serverul, cât și clientul adăugaseră următoarele setări:
Adaugă următorul cod pe partea de server pentru a rezolva problema:
Sper să vă rezolve pe voi care vă confruntați cu aceeași problemă.
Alte soluții:
După ce a citit http://bbs.csdn.net/topics/360255080 postării lui @sunny007sun, a fost găsită o soluție http://www.cnblogs.com/happyhippy/archive/2011/07/02/2096482.html dosarul său (blog). Web.config-ul generat automat de Silverlight nu conține informații de configurare pentru servicii și trebuie adăugat aici <services> <service behaviorConfiguration="MyBehavior" name="WcfService1.Service1"> <adresa endpoint="" binding="basicHttpBinding" bindingConfiguration="NewBinding0" contract="WcfService1.IService1" /> <adresa endpoint="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> </service> </services> De fapt, există încă o diferență între service.name și endpoint.contract, contract este un protocol corespunzător ServiceContract din cadrul proiectului WCF, adică interfața IService1, iar serviciul corespunde apelului specific svc, adică Service1.
Până acum, problema a fost rezolvată, mulțumesc @sunny007sun pentru cei 11 ani de postare și blogging.
|