Saltar al contenido

(413) Entidad de solicitud demasiado grande | uploadReadAheadSize

Solución:

Ese no es un problema de IIS sino el problema de WCF. WCF limita de forma predeterminada los mensajes a 65 KB para evitar ataques de denegación de servicio con mensajes grandes. Además, si no usa MTOM, envía bytes[] a cadena codificada en base64 (33% de aumento de tamaño) => 48KB * 1,33 = 64KB

Para resolver este problema, debe reconfigurar su servicio para aceptar mensajes más grandes. Este problema anteriormente activaba el error 400 Bad Request, pero en la versión más reciente, WCF comenzó a usar 413, que es el código de estado correcto para este tipo de error.

Necesitas configurar maxReceivedMessageSize en su encuadernación. También puede necesitar configurar readerQuotas.

<system.serviceModel>
  <bindings>
    <basicHttpBinding>
      <binding maxReceivedMessageSize="10485760">
        <readerQuotas ... />
      </binding>
    </basicHttpBinding>
  </bindings>  
</system.serviceModel>

Tenía el mismo problema con IIS 7.5 con un servicio WCF REST. Al intentar cargar a través de POST cualquier archivo por encima de 65k, devolvería el Error 413 “Solicitar entidad demasiado grande”.

Lo primero que debe comprender es qué tipo de enlace ha configurado en web.config. Aquí hay un gran artículo …

BasicHttpBinding frente a WsHttpBinding frente a WebHttpBinding

Si tiene un servicio REST, debe configurarlo como “webHttpBinding”. Aquí está la solución:

<system.serviceModel>

<bindings>
   <webHttpBinding>
    <binding 
      maxBufferPoolSize="2147483647" 
      maxReceivedMessageSize="2147483647" 
      maxBufferSize="2147483647" transferMode="Streamed">
    </binding>  
   </webHttpBinding>
</bindings>

Tuve el mismo problema y configuré el uploadReadAheadSize resuelto:

http://www.iis.net/configreference/system.webserver/serverruntime

“El valor debe estar entre 0 y 2147483647”.

Se configura fácilmente en applicationHost.config-fle si no desea hacer una cosa de cmd.

Está ubicado en WindowsFOLDERSystem32inetsrvconfig (Servidor de 2008).

Debes abrirlo con el bloc de notas. Primero haga una copia de seguridad del archivo.

De acuerdo con los comentarios en la configuración, la forma recomendada de desbloquear secciones es usando una etiqueta de ubicación:

<location path="Default Web Site" overrideMode="Allow">
    <system.webServer>
        <asp />
    </system.webServer>
</location>"

Entonces puedes escribir en la parte inferior (ya que antes no existía). yo escribo maxvalue aquí – escriba su propio valor si lo desea.

<location path="THENAMEOFTHESITEYOUHAVE" overrideMode="Allow">
    <system.webServer>
        <asp />
        <serverRuntime uploadReadAheadSize="2147483647" />
    </system.webServer>
</location>

Si lo pones al final antes </configuration> por ejemplo, sabes dónde lo tienes.

Espero que eso resuelva tus problemas. Fue un problema de sobrecarga de SSL para mí, donde demasiadas publicaciones congelaron la aplicación, lo que generó un problema (Solicitud de entidad 413 muy extensa error.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *