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.
Respuesta Responder a este mensaje
#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.


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.


.

Respuesta Responder a este mensaje
#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
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida