Se ha superado la cuota máxima de tamaño de mensaje para mensajes entrantes (65536). Para aumentar la cuota, utiliza la propiedad MaxReceivedMessageSize en el elemento de enlace correspondiente.
Al usar WCF, me encuentro con los siguientes problemas:
Se ha superado la cuota máxima de tamaño de mensaje para mensajes entrantes (65536). Para aumentar la cuota, utiliza la propiedad MaxReceivedMessageSize en el elemento de enlace correspondiente.
Descripción del problema:
Cuando el cliente llama a WCF y devuelve una gran cantidad de datos, no hay problema con la LAN (el cliente encontró un problema con una máquina en el sitio, la razón específica es desconocida). Hay un problema con publicar en la extranet.
La información de excepción que detecta VS2012 Debug es: Se produjo un error al transferir datos por un canal HTTP (los datos no podían leerse desde la conexión de transporte: la conexión estaba cerrada. )。
La excepción que devuelve la herramienta WCFStorm es: Se ha superado la cuota máxima de tamaño de mensaje para mensajes entrantes (65536). Para aumentar la cuota, utiliza la propiedad MaxReceivedMessageSize en el elemento de enlace correspondiente.
Antes del error, tanto el servidor como el cliente habían añadido los siguientes ajustes:
Añade el siguiente código en el lado del servidor para resolver el problema:
Espero que pueda solucionar a ti que estás pasando por el mismo problema.
Otras soluciones:
Tras leer la publicación de @sunny007sun http://bbs.csdn.net/topics/360255080, se encontró una solución http://www.cnblogs.com/happyhippy/archive/2011/07/02/2096482.html su historial (blog). El web.config generado automáticamente por Silverlight no tiene información de configuración para los servicios y debe añadirse aquí <services> <behavior del servicioConfiguración="MiComportamiento" nombre="WcfService1.Service1"> <dirección de endpoint="" binding="basicHttpBinding" bindingConfiguration="NewBinding0" contract="WcfService1.IService1" /> <dirección de endpoint="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> </service> </services> De hecho, todavía existe una diferencia entre service.name y endpoint.contract, contract es un protocolo que corresponde al ServiceContract bajo el proyecto WCF, es decir, la interfaz IService1, y service corresponde a la llamada específica de svc, es decir, Service1.
Hasta ahora, el problema se ha resuelto, gracias @sunny007sun por los 11 años de publicar y bloguear.
|