ASP.NET - dudas ciclo de vida pagina aspx

   
Vista:

dudas ciclo de vida pagina aspx

Publicado por javier (1 intervención) el 02/10/2007 16:16:06
tengo las siguientes dudas,

tengo entendido que las paginas aspx tienen un ciclo de vida que automaticamente se ejecutan cada vez que se presenta una pagina los enventos desde page_init,page_load.... hasta page_unload independientemente si es la primera vez o despues de un envento submit de algun componente de la pagina.

ahora tengo una pagina donde presento un reporte de crystal reports, y en el evento
page_unload, tengo las sentencias reporte.close y reporte.dispose

entonces mis dudas son:

1 - al ejecutar la pagina con page_load genrea el reporte y automaticamente
cierra el reporte y libera la memoria en el servidor al ejecutar page_unload?

2 - supongo, que el usuario al dar clic en algun boton del reportviewer como exportar,
imprimir o cambiar de pagina del reporte se corre otra vez todo el ciclo de vida de la
pagina, estoy en lo correcto?

3 - si el usuario cierra el internet explorer o da clic en el boton regresar del internet
explorer, el reporte ya esta cerrado y liberado del servidor al ejecutar page_unload?, ya que tengo entendido que el internet explorer corre de modo local y el servidor no tiene ningun control sobre los eventos de este.

4 - el evento page_unload se debe declarar en algun lado para que se ejecute cuando la
aplicacion ya esta en servicio desde el servidor?

Gracias por sus respuestas.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:dudas ciclo de vida pagina aspx

Publicado por @vm (5 intervenciones) el 15/10/2007 23:02:05
No uso mucho crystal reports, pero si te puedo decir según mis conocimientos que:

1. Efectivamente en page_load genera el reporte siempre y cuando ahi tengas las líneas para hacerlo, en cuanto a cerrarlo y liberarlo de memoria, te puedo decir que todo depende de como lo tienes declarado, si declaraste un objeto en el metodo page load, los objetos se liberan de memoria al finalizar ese método. Si el objeto esta daclarado a nivel clase, este se libera cuando termina la ejecución de la clase. Recuerda q cuando no tienes una instrucción para cerrar un objeto y este se libere de memoria, el framework se encargará de liberarlo de memoria cuando ya no se este usando por la aplicación.

2. Se inicializa el cliclo de vida de la página si cualquier acción realizada en la misma genera un postback, es decir una ida y vuelta al servidor, (una recarga de la página)

3. respecto a finalizar objetos y liberarlos de la memoria: lo mismo que el punto uno. Si cierras el explorer obvio finaliza la página y la aplicación, por tanto si tienes un méto unload se ejecutan las instrucciones del mismo.

4. puedes declarar el evento page_unload en el código fuente de la página.

Espero q haya más comentarios para poder alimentar una mejor respuesta, saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar