• Sign In
 
  • MSDN Blogs
  • Microsoft Blog Images
  • More ...
Common Tasks
  • Blog Home
  • About
  • RSS for posts
  • Atom
Blog - News
Search
  • Advanced search options...
Twitter (@dmossberg)
Tags
  • ASP
  • ASP.NET
  • Common Language Runtime (CLR)
  • Debugging
  • Ejemplos de Código
  • Failed Request Tracing
  • Herramientas
  • IIS 6.0
  • IIS 7.0
  • Kerberos
  • Log Parser
  • Pages
  • Seguridad
  • Silverlight
  • SSL/TLS
Recent Posts
  • Problemas al subir ficheros a una aplicación ASP.NET

    Posted over 2 years ago
    by Daniel Mossberg
Archives
Archives
  • May 2012 (2)
  • November 2010 (1)
  • August 2010 (1)
  • April 2010 (1)
  • March 2010 (2)
  • February 2010 (2)
  • January 2010 (2)
  • December 2009 (5)
  • October 2009 (1)
  • September 2009 (3)
  • August 2009 (1)
  • July 2009 (2)
  • May 2009 (2)
  • April 2009 (4)
  • February 2009 (1)
  • January 2009 (1)
  • December 2008 (1)
Blogs de ASP.NET / IIS
  • If broken it is, fix it you should

  • Notes from a dark corner

  • Never doubt thy debugger

  • Speaking of which...

Otros blogs recomendados
  • Blogs de Soporte en España

MSDN Blogs > The code is out there > August, 2010

August, 2010

  • Subscribe via RSS
Sort by: Most Recent | Most Views | Most Comments
Excerpt View | Full Post View
  • The code is out there

    Problemas al subir ficheros a una aplicación ASP.NET

    Posted over 2 years ago
    by Daniel Mossberg
    • 0 Comments

    Cuando subimos ficheros a una aplicación ASP.NET, dependiendo del tamaño del fichero y la velocidad de la conexión del cliente, ocasionalmente la subida del fichero puede fallar con el mensaje de error en el cliente de Internet Explorer no puede mostrar la página web, o con alguna de las siguientes excepciones (dependiendo de cómo esté configurado IIS, habitualmente este detalle de la excepción únicamente lo podremos ver en el log de eventos NT del servidor):

     

    HttpException: Request timed out.

    HttpException: Maximum request length exceeded.

     

    En estos casos, los parámetros que debéis configurar adecuadamente considerando el tamaño el tiempo de transmisión del fichero son los siguientes:

     

    <httpRuntime executionTimeout="600" maxRequestLength="61440" />

     

    El parámetro de executionTimeout determina el tiempo en segundos que puede ejecutarse una páginas ASP.NET antes de que se lanza una excepción de time out. Por otro lado, el parámetro maxRequestLength determina el tamaño total máximo en bytes de las peticiones HTTP. Debemos configurar estas secciones acorde con los tiempos máximos de carga y tamaños máximos de fichero que queremos que soporte nuestra aplicación.

     

    Los parámetros de la sección <httpRuntime> se pueden configurar a nivel de web.config de aplicación, e incluso a nivel de una página específica de la siguiente manera:

     

    <?xml version="1.0"?>

    <configuration>

      ...

      <location path="Default.aspx">

        <!--

          Aquí la configuración específica

          para la página Default.aspx del

          directorio virtual al que aplica

          este web.config.

        -->

     

        <system.web>

          <httpRuntime

            executionTimeout="600"

            maxRequestLength="61440" />

        </system.web>

      </location>

     

    </configuration>

     

    Esto último es recomendable, dado que aumentar el executionTimeout de todas las páginas de una aplicación puede tener consecuencias negativas. En general, los timeout se deben mantener con valores razonablemente bajos, precisamente para que cuando se produzca una situación de bloqueo, se lanze la excepción y se finalice el procesamiento de la página en poco tiempo de forma que se libere el thread y se puedan atender otras peticiones. Con timeouts elevados se podrían llegar a agotar todos los threads en situaciones de bloqueo, por tardar demasiado en ser liberados.

     

    Por último, si una vez habiendo configurado nuestra aplicación con valores adecaudos, la carga de ficheros sigue fallando con errores HTTP 400 en los logs de IIS y errores de Timer_EntityBody en los logs de HTTP.sys (HTTPERR), probad a desinstalar la funcionalidad de SNP (Scalable Networking Pack) en el servidor web siguiente los instrucciones del siguiente artículo:

     

    An update to turn off default SNP features is available for Windows Server 2003-based and Small Business Server 2003-based computers

    http://support.microsoft.com/default.aspx?scid=kb;EN-US;948496

     

    Estos cambios requieren reincio del sistema operativo para entrar en vigor.

     

    Espero que os haya sido de utilidad.

    - Daniel Mossberg

     

Page 1 of 1 (1 items)
  • © 2012 Microsoft Corporation.
  • Terms of Use
  • Trademarks
  • Privacy Statement
  • Report Abuse
  • 5.6.402.223