Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 18761|Respuesta: 1

[WCF/Servicios Web] Se ha superado la cuota máxima de tamaño de mensaje para mensajes entrantes (65536). Para aumentar la cuota, utiliza el ...

[Copiar enlace]
Publicado en 24/4/2017 17:02:30 | | |
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.





Anterior:.NET/C# Herramienta de depuración de interfaces NB-IoT de Huawei [Código fuente]
Próximo:Winform ListView, función de doble clic derecho
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com