WCF - Aumente el servicio de Readerqueatas en REST
-
22-10-2019 - |
Pregunta
Tengo un servicio de descanso WCF que acepta una cadena JSON
Uno de los parámetros es una gran cadena de números
Esto causa el siguiente error, que es visible al rastrear y usar SVC Trace Viewer
Hubo un error que deserializaba el objeto de la carconfiguración de tipo. La cuota máxima de longitud de contenido de cadena (8192) se ha excedido mientras se lee datos XML. Esta cuota puede aumentarse cambiando la propiedad MaxStringContentLength en el objeto XMLDICCIONARYReRequotas utilizado al crear el lector XML.
Ahora he leído todo tipo de artículos que aconsejan cómo rectificar esto
Todos ellos recomiendan aumentar varias configuraciones de configuración en el servidor y el cliente
p.ejError de serialización de la cadena en la llamada de servicio web
http://bloggingabout.net/blogs/ramon/archive/2008/08/20/wcf-and-large-messages.aspx
http://social.msdn.microsoft.com/forums/en/wcf/thread/f570823a-8581-45ba-8b0b-ab0c7d7fcae1
Entonces mi archivo de configuración se ve así
<webHttpBinding>
<binding name="webBinding" maxBufferSize="5242880" maxReceivedMessageSize="5242880" >
<readerQuotas maxDepth="5242880" maxStringContentLength="5242880" maxArrayLength="5242880" maxBytesPerRead="5242880" maxNameTableCharCount="5242880"/>
</binding>
</webHttpBinding>
...
...
...
<endpoint
address="/"
binding="webHttpBinding"
bindingConfiguration="webBinding"
Mi problema es que puedo cambiar esto en el servidor, pero no hay configuraciones de configuración de WCF en el cliente, ya que es un servicio de descanso y solo estoy haciendo una solicitud HTTP utilizando la WebClient
objeto
¿algunas ideas?
Solución
Por lo tanto, resulta que necesita una URL completamente calificada en la dirección del punto final, no una pariente
Error a llamar a un servicio de descanso WCF usando JSON. La cuota de longitud (8192) excedió
Otros consejos
Ese error no ocurriría en el cliente, ya que las cuotas de los lectores son algo exclusivo de WCF y WebClient/httpwebRequest no se deserializan ni hagan ningún otro tipo de cuotas.
Así que diría que es probable que esté poniendo la configuración en el lugar equivocado y que no se está recogiendo.
O eso o ... no estás usando uno de los serializadores de DataContract WCF manualmente en el lado del cliente, ¿verdad?