2012-08-06 22 views
6

Tengo un servicio WCF 4.0 implementado en un servidor de desarrollo 2K8R2 y alojado bajo IIS 7.5. Lo llamo localmente desde una aplicación de prueba (WPF). Me está encontrando un problema al enviar archivos de gran tamaño (a través de una matriz de bytes) donde recibo el siguiente error cuando intento enviar un archivo de 23 MB (o más).WCF sin punto final para archivos más grandes

No hubo extremo de escucha en http: ///FileStorageClone/FileStorage.svc que podría aceptar el mensaje. Esto a menudo es causado por una dirección incorrecta o acción SOAP. Vea InnerException, si está presente, para más detalles.

Hasta 19 MB funciona bien. Aumenté la configuración de tiempo de espera y establecí el búfer máximo, el mensaje recibido y los tamaños de matriz a 2 GB en el archivo web.config. La excepción se produce casi de inmediato (no lo suficiente como para haber agotado el tiempo de espera).

Está funcionando usando basicHttpBinding, aunque ya que es solidificado próximos pasos serán otros tipos de enlace.

Primero resolví las conexiones con archivos pequeños, luego moví a más grande. A 64 KB, encontré el búfer máximo y recibí los tamaños de mensajes. Con 4 MB aprendí que necesitaba aumentar httpRuntime en el sistema. Web desde el valor predeterminado de 4 GB.

Me parece un problema de IIS o de nivel de sitio. ¿Alguna idea de dónde me puedo perder?

Respuesta

14

Parece que esta es una configuración más en el nivel de IIS. Establecer requestFiltering en web.config o mediante appcmd.exe son dos opciones viables. En el web.config, el siguiente ejemplo, se establece el límite a 2,2 mil millones de bytes:

<system.webServer> 
    <security> 
     <requestFiltering> 
     <requestLimits maxAllowedContentLength="2200000000" /> 
     </requestFiltering> 
    </security> 
    </system.webServer> 

Gracias a: http://www.dantor.com/support/misc/web-config-requestFiltering-user-agent.aspx

También, a través de appcmd.exe, véase: http://forums.iis.net/t/1066272.aspx

Cuestiones relacionadas