Contexto ASP

Hola Decinso,
Ante todo gracias por tu ayuda. Actualmente estoy desarrollando una aplicación con ASP, IIS, SQL Server y DLL's programadas en Visual Basic 6. Mi pregunta es algo compleja y tiene varias partes, a ver cómo te lo explico. Desde un ASP se recogen unos parámetros de búsqueda que activan una llamada a una DLL (Server.CreateObject). Esta DLL es por así decirlo asíncrona (resuelve varias peticiones XML según van llegando y almacena los resultados en SQL Server). El flujo del programa ahora mismo es llamar a esa DLL desde un ASP y transferir el control a otro ASP que cada cierto tiempo (con javascript, setTimeout) comprueba contra la BBDD que la DLL ha terminado de recopilar los datos de las diferentes llamadas XML y poder mostrarlas conjuntamente por pantalla en HTML. Viene a ser una página de resultados, de los cuales al final sólo me valdrá uno (o ninguno, si el cliente no se decide a comprar). Hasta aquí todo claro... Espero. Lo que pasa es que todo esto me parece muy ineficiente porque los datos que se recopilan en las llamadas XML se almacenan en la BBDD (creo que innecesariamente, ya que cuando la navegación finalice esos datos sobran de la BBDD). Mi pregunta en este momento es ¿existe alguna manera de manejar datos fluidamente en el componente DLL, y poder ordenarlos por el campo que quiera, actualizarlos, borrarlos, etc. Más o menos igual que lo hago con sentencias SQL contra la base de datos?. Supongo que sí (un array de datos, algún control específico, etc.). Y una vez resuelto esto, ¿cómo puedo controlar en un sólo paso (sin tener que recurrir a una página que cada cierto tiempo compruebe que la ejecución se ha completado contra la BBDD -que por cierto, salvado el primer inconveniente sería imposible ya-) que la llamada asíncrona ha terminado y por tanto poder rescatar ese "control específico de almacenamiento" para sacar los datos por pantalla de la misma manera pero evitando el paso por BBDD hasta más adelante? No sé si me explico... El caso es que quiero evitar la comprobación cada cierto tiempo y el paso innecesario de datos por la base de datos. Para ello necesito saber cuándo ha terminado de ejecutarse la DLL "asíncrona" -en el mismo ASP que la crea- y cómo devolver los datos si no es por medio de la BBDD. Supongo que todo esto tiene algo que ver con el hecho de poder hacer referencia en otra ASP a un objeto o DLL instanciada en una ASP distinta, algo así como el "contexto ASP", pero la verdad es que no lo tengo muy claro. Muchas gracias de antemano por tu ayuda y espero que me puedas ayudar con todas estas dudas que me surgen. Un saludo, y gracias de nuevo. Jartalo.

1 Respuesta

Respuesta
-1
Recordemos que las ejecuciones de código asp y html, son de arriba hacia abajo, en forma lineal, aunque tengas rutinas, funciones, procedimientos, llamadas a dlls, etcétera.
Una dll instanciada en asp, hasta que no termina y no destruyes el objeto no deja de tener vida.
Si me explicas en otra forma lo que deseas hacer, tal vez podamos reenfocar tu trabajo para hacerlo más eficiente para tu desempeño.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas