Foros del Web » Programación para mayores de 30 ;) » .NET »

Response.redirect que no redirige

Estas en el tema de Response.redirect que no redirige en el foro de .NET en Foros del Web. A ver si alguien me puede dar alguna pista sobre lo q puede estar pasando y que me trae de cabeza. Tengo un Webform de ...
  #1 (permalink)  
Antiguo 28/03/2005, 15:04
 
Fecha de Ingreso: julio-2003
Mensajes: 120
Antigüedad: 20 años, 9 meses
Puntos: 0
Response.redirect que no redirige

A ver si alguien me puede dar alguna pista sobre lo q puede estar pasando y que me trae de cabeza.
Tengo un Webform de Asp.net con controles para introducir valores de filtro que generarán un informe. Cuando lo aceptan obtengo los datos en un dataset, abro una hoja de Excel como xml y meto los datos dentro. Luego guardo el xml en un fichero de texto, redirijo a otra página y ésta carga el fichero xml y "lo escribe" en el explorador.
Todo funciona perfectamente y el informe sale en el explorador web salvo... que el dataset tenga un número elevado de registros, pongamos 3000. En ese caso el bucle que mete los datos en Excel tarde cosa de 40 segundos; el fichero se crea pero el "Response.Redirect" no lleva a la otra página. No hay vuelta de hoja; el problema es que la nueva página nunca llega al explorador. Tengo controles en depuración y el fichero está ahí, y creado, pero la nueva página no se carga.
Para más Inri en mi ordenador, de desarrollo, eso no pasa, y el mismo informe con el mismo número o más de datos aparece bien. Pero en producción no.
¿Hay algo en objeto Response que lo haga caducar? Ojo, no es la sesión, que sigue activa (y tiene para una hora); hay variables de sesión y siguen ahí.
El mismo informe con, por ejemplo, 2000 datos, va bien.
¿Alguien entiende algo?
¡Ayuda, please!
  #2 (permalink)  
Antiguo 28/03/2005, 15:32
Avatar de Phoncadiz  
Fecha de Ingreso: mayo-2004
Ubicación: Cádiz City
Mensajes: 232
Antigüedad: 20 años
Puntos: 1
Has probado mediante un script?

En vez de poner el response.redirect, pones...
reponsponse.write("<script>location.href='pagina.a spx'</script>")

Digamos que puede ser una solución transitoria.

Saludos!!!
__________________
Tantas horas delante de una pantalla servirá para algo....
[Phoncadiz; mínimo 8 h. al día con el PC] :stress:
  #3 (permalink)  
Antiguo 28/03/2005, 17:44
Avatar de grisel  
Fecha de Ingreso: diciembre-2004
Ubicación: Mexico
Mensajes: 215
Antigüedad: 19 años, 4 meses
Puntos: 0
Hola

Porque no utilizas un Server.Transfer

Mira te envio este link para que veas la diferencia entre un Response.Reditect y un Server.Transfer.

http://www.developer.com/net/asp/article.php/3299641

Espero te sirva bye
__________________
grissss :Zzz:
  #4 (permalink)  
Antiguo 28/03/2005, 18:04
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
En vez de hacer un Response.Redirect podrías simplemente cambiar las cabeceras y leer el archivo que generaste para que lo mande al cliente. No sé si te entendí bien o no, pero si intentas mostrar los 2000 o 3000 datos en el explorador, la aplicación consume más recursos a medida que se incrementan más datos. Yo tuve problemas parecidos al hacer un control para exportar reportes con gran cantidad de datos, al final logré exportar unos 30000 registros :p.
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #5 (permalink)  
Antiguo 29/03/2005, 11:13
 
Fecha de Ingreso: julio-2003
Mensajes: 120
Antigüedad: 20 años, 9 meses
Puntos: 0
Siento no escribir para dar una solución, porque lo que hecho es hacer el informe de otra forma, con arrays en vez de celda a celda, y como tarda bastante menos, cosa de segundos, ya no tengo el problema con el Response.Redirect.
Me fastidia bastante pasar por encima de las cosas sin saber por qué pasan, aunq para mí q no es cosa de código, sino del entorno de desarrollo.
Si me entero de algo al respecto prometo ponerlo en este hilo.
Saludos
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 04:57.