Problema con dll

24/02/2004 - 12:28 por Roberto | Informe spam
Hola,

Tengo la siguiente cuestión:

- Tengo una dll que envia correos y el problema se me
plantea que cuando la utilizo desde una página en ASP y
tengo que enviar por ejemplo 200 correos pues tarda
bastante y a veces me da timeout y lo que me interesaría
es saber si puedo hacer la instancia a la dll, llamar a la
función que envia los correos masivos que se encuentra
dentro de la dll y que me devuelva el control a la página
aunque no haya terminado de enviar los correos, es decir,
que el proceso de envio de correos que hace la dll, lo
haga en segundo plano.

No se si me he explicado bien, si necesitais más
información decirmelo.

Un saludo y gracias.

Preguntas similare

Leer las respuestas

#1 Gustavo \The Wolf\ Cantero
24/02/2004 - 15:10 | Informe spam
Roberto:
Para hacer eso tenés que crear otro thread, lo cual se puede hacer
creando una clase Out-Of.-Process (.exe) en lugar de una In-Process (.dll).
Esto en Visual Basic es igual a un proyecto ActiveX DLL pero se llama
ActiveX EXE. Dentro de este proyecto tenés que hacer que cuando desde tu
ASP le pasan la lista de mails cree un formulario en memoria y active un
timer del mismo y que no haga nada mas, esto le va a devolver el control al
ASP. Luego tenés que hacer que en el evento Timer de tu timer del
formulario envie todos los mails y después se elimine el objeto de memoria.
Espero que se entienda la idea.
Suerte!
Gustavo Cantero
Microsoft Certified Solution Developer


"Roberto" escribió en el mensaje
news:05bc01c3fac9$4bb32cf0$
Hola,

Tengo la siguiente cuestión:

- Tengo una dll que envia correos y el problema se me
plantea que cuando la utilizo desde una página en ASP y
tengo que enviar por ejemplo 200 correos pues tarda
bastante y a veces me da timeout y lo que me interesaría
es saber si puedo hacer la instancia a la dll, llamar a la
función que envia los correos masivos que se encuentra
dentro de la dll y que me devuelva el control a la página
aunque no haya terminado de enviar los correos, es decir,
que el proceso de envio de correos que hace la dll, lo
haga en segundo plano.

No se si me he explicado bien, si necesitais más
información decirmelo.

Un saludo y gracias.
#2 Roberto
24/02/2004 - 16:31 | Informe spam
He entendido la idea pero como hago para hacer referencia
al ActiveX EXE desde la página en ASP. ¿Es igual que si
fuera una dll en vez de un EXE?

Muchas gracias.


Mostrar la cita
se puede hacer
Mostrar la cita
In-Process (.dll).
Mostrar la cita
pero se llama
Mostrar la cita
cuando desde tu
Mostrar la cita
memoria y active un
Mostrar la cita
devolver el control al
Mostrar la cita
timer del
Mostrar la cita
objeto de memoria.
Mostrar la cita
mensaje
Mostrar la cita
#3 jmartinez
25/02/2004 - 22:40 | Informe spam
Si haces la llamada a la libreria desde un DTS, despues creas un Job
de ese DTS y lo mandas a llamar con msdb..sp_start_job 'nombre_job' el
asp te va a regresar el control sin esperarse a que la dll se termine
de ejecutar. Creo que eso resuelveria tu problema.
Por ahi vi que alguien dijo que crearas el objeto de la libreria con
setr obj = new server., el new no sirve en llamadas desde asp,
solo desde llamadas en vb
Ads by Google
Search Busqueda sugerida