c# - máxima - requestlimits maxallowedcontentlength
IIS7: falla Webrequest con 404.13 cuando el tamaño de los parámetros de solicitud excede los 30mb (2)
Esto es bastante viejo. Pero tengo el mismo problema hoy. Para solucionarlo, debe realizar los cambios de configuración necesarios en web.config y luego implementarlo en el servidor web. La parte importante es que necesita volver a implementar su aplicación en el servidor web. Al hacerlo, la configuración de IIS se actualiza para usted. Dependiendo de cómo realice su implementación, es posible que deba eliminar su aplicación web del servidor web primero y luego implementarla de nuevo. Actualizar web.config en su lugar no solucionará el problema. Espero que esto ayude a otros con el mismo problema.
Tengo un webmethod simple
[WebMethod]
public int myWebMethod(string fileName, Byte[] fileContent)
Sin embargo, cada vez que paso una matriz de bytes que es más grande que 30mb, obtengo el error:
Error de HTTP 404.13 - No encontrado El módulo de filtrado de solicitud está configurado para denegar una solicitud que excede la longitud del contenido de la solicitud.
Mi web.config es el siguiente:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0"> </compilation>
<authentication mode="Windows" />
<httpRuntime useFullyQualifiedRedirectUrl="true"
maxRequestLength="102400" requestLengthDiskThreshold="102400"
/>
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" />
</system.web>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="104857600"/>
</requestFiltering>
</security>
</system.webServer>
</configuration>
He buscado alrededor, y la causa más común de este problema es la propiedad maxAllowedContentLength
es de maxAllowedContentLength
MB por defecto. Sin embargo, he establecido que esto sea de maxRequestLength
, así como la propiedad httpRuntime
para httpRuntime
.
No puedo encontrar una solución en ninguna parte que no establezca una de las propiedades que ya he probado anteriormente. ¿Hay algo que me he perdido?
Su problema puede residir en el hecho de que la configuración realizada en el archivo web.config puede ser reemplazada por las configuraciones correspondientes presentes en los archivos applicationhost.config y machine.config .
Si tiene acceso a estos, compruebe si la propiedad overrideModeDefault de las secciones correspondientes está establecida en Permitir , como en el siguiente ejemplo:
machine.config
<requestFiltering overrideModeDefault="Allow">
<requestLimits maxAllowedContentLength="104857600"/>
</requestFiltering>
AFAIK no hay manera de anular esta configuración si no tiene acceso al archivo de configuración correspondiente.
Puede encontrar más información sobre la configuración y la configuración de todo el sistema aquí , aquí y aquí , y un caso muy similar aquí .