Foros del Web » Programando para Internet » ASP Clásico »

Ayuda con Paginas Pesadas

Estas en el tema de Ayuda con Paginas Pesadas en el foro de ASP Clásico en Foros del Web. Hola a todos, les paso a explicar mi problema: Tengo que generar un reporte en pdf mediante ASP. La empresa tiene un componente para generar ...
  #1 (permalink)  
Antiguo 01/02/2010, 09:34
 
Fecha de Ingreso: febrero-2010
Mensajes: 1
Antigüedad: 15 años, 2 meses
Puntos: 0
Ayuda con Paginas Pesadas

Hola a todos, les paso a explicar mi problema: Tengo que generar un reporte en pdf mediante ASP. La empresa tiene un componente para generar los pdfs y funciona perfecto el tema es que el reporte es excesivamente largo por lo que me genera un timeout al intentar hacerlo y por la naturaleza del componente solo se puede mostrar los resultados cuando todo el proceso de creacion del PDF esta hecho, mas especificamente, solo se muestran los resultados cuando se usa la funcion closePDF(objetoPDF)

Las soluciones que he intentado fueron las siguientes:



1. Pagina con un iFrame (donde se mostrara el PDF) y una funcion javaScript que pregunta si el iFrame ya termino de cargar, de no hacerlo, hace una llamada a la misma pagina del reporte (mediante ajax) pero con un parametro para extender el tiempo del timeout de la session.
Problema de esta solucion: se queda dando vueltas en el ciclo while

Código Javascript:
Ver original
  1. function comprobarFin(){
  2.         var hora1 = new Date();
  3.         var hora2 = new Date();
  4.         if ( document.getElementById("iframePDF").contentWindow.document.readyState == 'complete' ) {
  5.         }else{
  6.             while (document.getElementById("iframePDF").contentWindow.document.readyState != 'complete'){
  7.                 hora1 = new Date();
  8.                 if (Math.floor((hora1-hora2)/1000)>=5){
  9.                     ch.bind("printBatch.asp?accion=TIEMPO","callback()");
  10.                     ch.send();
  11.                     hora2 = new Date();
  12.                 }
  13.             }
  14.         }
  15.     }

y el browser que uso (firefox) me dice que el script pudo haberse quedado colgado.

2- He intentado separar el proceso de comprobacion de la pagina donde se mostrara el PDF (tambien llamado mediante ajax) pero el proceso no parece estar funcionando ya que me tira timeout

Código ASP:
Ver original
  1. <&#37;
  2.     Dim fecha1,fecha2
  3.     fecha1 = now()
  4.     fecha2 = now()
  5.     while Session("printbatch") <> "CARGANDO"
  6.         fecha1 = now()
  7.         if DateDiff("s",fecha1,fecha2) => 50 then
  8.             Session.Timeout = Session.Timeout + 1
  9.             fecha2 = now()
  10.         end if
  11.     wend
  12. %>


Alguien tiene alguna sugerencia para poder ayudarme a resolver este problema? la idea no es setear un valor alto del timeout sino que ese valor se vaya adaptando dependiendo de la longitud del reporte

Saludos

Última edición por zangles; 01/02/2010 a las 09:54
  #2 (permalink)  
Antiguo 02/02/2010, 08:37
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 2 meses
Puntos: 146
Respuesta: Ayuda con Paginas Pesadas

Cita:
la idea no es setear un valor alto del timeout sino que ese valor se vaya adaptando dependiendo de la longitud del reporte
Solo por curiosidad ...

¿por qué no quieres poner un timeout alto si tu proceso así lo requiere?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:06.