asp.net - mvc - propiedades fileupload asp net
Evitar el tiempo de espera del navegador en grandes cargas de archivos (7)
En Page_Load, establezca Server.ScriptTimeout en un valor que funcione para usted. Medido en segundos, creo.
Tengo un pequeño y agradable control de carga de archivos que escribí para formularios web ASP.NET que utilizan un IFrame y ASP.NET AJAX.
Sin embargo, en cargas grandes, el navegador agota el tiempo de espera antes de que pueda terminar de publicar el formulario.
¿Hay alguna manera de aumentar esto?
No soy realmente interesante en soluciones alternativas, así que no sugieras cambiar todo por favor. Funciona bien para cargas de <5 megas, me gustaría obtener hasta 8mb.
EDITAR: Configurar el tiempo de espera en Page_Load no parece cambiar nada.
Creo que es posible que tengas que ajustar MaxRequestLength
Está en el Web.config, creo que de forma predeterminada es 4megs.
Lo siguiente permitiría ~ 10 meg de archivo:
<httpRuntime maxRequestLength="10240" />
Verifique el código de Velodoc XP Edition . Incluye un módulo de transmisión de carga, un controlador de descarga reanudable y controles de carga de ASP.NET basados en extensiones ASP.NET Ajax y es todo de código abierto.
Para obtener más información, consulte también www.memba.com y www.velodoc.com .
Coloque esto en su web.config
<system.web>
<httpRuntime executionTimeout="360" maxRequestLength="100000" />
Eso permite un tiempo de espera de 360 segundos y 100.000 Kb de datos de carga a la vez.
Si eso no funciona, ejecute este comando en su servidor IIS. (reemplace [IISWebsitename])
C:/Windows/System32/inetsrv>appcmd set config "[IISWebsitename]" -section:requestFiltering -requestLimits.maxAllowedContentLength:100000000 -commitpath:apphost
Eso habilita 100,000,000 bytes de carga de datos a la vez.
Debe actualizar una configuración de metabase en IIS6 y posterior. La clave es "AspMaxRequestEntityAllowed" y se expresa en bytes. Recomiendo encarecidamente el Metabase Explorer para realizar el cambio, aunque es posible vadear el XML en% systemroot% / system32 / inetserv / metabase.xml.
Metabase Explorer: http://support.microsoft.com/kb/840671
Hmmm, tal vez estoy ladrando en el árbol equivocado ... no estarías haciendo archivos de 5 MB si eso no estuviera ya ajustado.
Otra puñalada: mira tu web.config:
<system.web>
<httpRuntime maxRequestLength="10240" executionTimeout="360"/>
</system.web>
La longitud máxima de solicitud está en kilobytes y el tiempo de espera de ejecución está en segundos.
Lo solucioné usando PHP con HTML:
- Comienzo una sesión
- ingrese un bucle
- crear un bucle que vuelva a cargar la página que hace parte del trabajo a la vez
- hacer hasta que el trabajo esté hecho
- el código dentro del ciclo hace una parte del trabajo
- incrementar una variable de sesión para apuntar a la siguiente parte del trabajo
- recarga la página usando el script java // esto reiniciará el temporizador de la página Severs
- lazo
- cargar una página para informar que el trabajo está hecho
Abra su archivo Web.config, y justo debajo de la etiqueta <system.web>
, agregue la siguiente etiqueta:
<httpRuntime executionTimeout="90" maxRequestLength="4096" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" enableVersionHeader="true" />
Ahora, solo eche un vistazo al atributo maxRequestLength = "4096" de la etiqueta <httpRuntime>
. Como se habrá dado cuenta, todo lo que necesita hacer es cambiar el valor a algún otro valor de su elección (8192 para 8 Mb, 16384 para 16 Mb, 65536 para 64 Mb, y así sucesivamente ...).