como ejecutar el destructor de un objeto al cerrar el navegador

10/09/2008 - 16:53 por Glehos | Informe spam
Os cuento el problema.

Tengo una aplicacion asp.net que internamente abre y manipula
documentos de excel. a traves de una clase.

Tengo en el destructor del objeto que desconecte todas las
aplicaciones excel abiertas y que borre todos los fichero temporales
que ha creado.

El objeto en cuestión se almacena como una variable de sesión

todo funciona Ok. siempre que el usuario utilice mis botones de
cancelar - o terminar. pue entonces se ejcuta en codigo que libera
todos los recursos y cierra todo.


el problema es cuando el usuario en vez de cerrar la aplicación con
los botones que he programado decide simplemente cerrar la ventana del
navegador entonces se queda la aplicación excel abierta
consumiendo recursos y los ficheros temporales sin borrar.

Yo pensaba que al finalizar la sesión y al eliminarse todas las
variables de sesión se ejecutaria el destructos de la clase, pero
parece ser que no es así.

¿Hay algun método o truco para asegurarse de SIEMPRE todas las
variables de sesión ejecuten el desctuctor para liberar recursos sea
cual sea el modo en el que haya teminado la sesión: ( Time-out,
nvegador cerrado, conexion interrumpida, etc...) ?
 

Leer las respuestas

#1 Glehos
11/09/2008 - 09:19 | Informe spam
Bueno ya he descubierto que existe el evento Session_End que se
ejecuta siempre que acaba la sesión en el servidor y alli puedo meter
el código necesario para cerrar los ficheros excel.

De momento me vale así, La única pega es que hay que esperar a que
termine la sesión para que cierre todo.
seria ideal poder caturar en javascript el evento de cerrar la ventana
y poder ejecutar despues algo de codigo en el servidor sin tener que
esperar a que se cierre la sesion ¿Quizas con Ajax?

Preguntas similares