Retroceder   Foros del Web > Programación para sitios web > .NET

Respuesta
 
Herramientas Desplegado
Antiguo 12-dic-2002, 13:11   #1 (permalink)
misitioweb está en el buen camino
 
Avatar de misitioweb
 
Fecha de Ingreso: noviembre-2002
Ubicación: Guadalupe, N.L.
Mensajes: 99
Problema el enviar muchos mail's con ASP.NET

Mi problema es muy simple, tengo una lista de usuarios, a los cuales les quiero mandar un mail. Pero como el servidor se tarda un poco en esta tarea, me manda el error de que se termino el tiempo de espera. Bueno, esto lo podria solucionar aumentando este tiempo en la configuración, pero me gustaria poder hacer algo que me fuera mostrando el progreso de la tarea....

Alguna forma de que pudiera darme cuenta de que esta trabajando... se supone que las paginas asp se ejecutan y al terminar toda la ejecución envian la información al cliente. Yo me acuerdo que se podia cambiar esta forma, para que pudieran ir mandando la información no hasta que terminara, sino como la fuera teniendo.... alguno sabe de esto?

misitioweb está desconectado   Responder Citando
Antiguo 13-dic-2002, 17:10   #2 (permalink)
misitioweb está en el buen camino
 
Avatar de misitioweb
 
Fecha de Ingreso: noviembre-2002
Ubicación: Guadalupe, N.L.
Mensajes: 99
Ya lo encontre !!!!



Ya encontre una forma de hacerlo....

Usando un Nuevo Tread.... es decir crear un nuevo proceso independiente, asi puedo realizar dos acciones al mismo tiempo. Entonces, en el nuevo proceso mando llamar a la rutina que se encarga de mandar los mail's y este es independiente del proceso actual. Cuando abro la pagina, esta me dice que todo salio bien, aunque todavia no termine de hacerlo. Para el usuario todo ya termino, pero el servidor sigue con el proceso. ya hice una prueba mandandome 700 mail's para ver si los mandaba todos no importando que se tardara mucho, y FUNCIONO !!!

Creo que fue una buena solución, pues para el usuario fue rapido.... pero hay algunos inconvenientes.....

misitioweb está desconectado   Responder Citando
Antiguo 14-dic-2002, 10:23   #3 (permalink)
Henry Zapata está en el buen camino
 
Avatar de Henry Zapata
 
Fecha de Ingreso: noviembre-2002
Mensajes: 125
Enviar un mensaje por ICQ a Henry Zapata
Hola:

Porque no intentas usando programacion asincrona ?
.Net te da esa posibilidad para situaciones como las
tuyas, cuestion de averiguar un poco
Henry Zapata está desconectado   Responder Citando
Antiguo 15-dic-2002, 23:06   #4 (permalink)
jlchavez está en el buen camino
 
Fecha de Ingreso: noviembre-2002
Ubicación: Guatemala
Mensajes: 149
Enviar un mensaje por ICQ a jlchavez Enviar un mensaje por MSN a jlchavez Enviar un mensaje por Yahoo  a jlchavez
No hay por que quebarse la cabeza.

Instala el servicio de SMTP de windows, a este lo configuras para que sirva de relay, así a la misma maquina local le pones los correos en cola ya preparados, y acada N minutos que se conecte al servidor principal. Envias los correos con

SmtpMail.SmtpServer="localhost"

Casi de inmediato se enviaran todos los correos, y el servicio de SMTP se encargara de ir enviando los correos uno tras otro.

Es bonita la interface web, pero con el mismo lenguaje podes hacer una interface Windows Forms o de consola. El namespace provee una clase que se llama Console.

Console.Write(String.Format("Correo no. {0} enviado",contador))';

El compilador esta en: C:\Program Files\Microsoft.NET\FrameworkSDK\Bin\

La sintaxis es la siguiente:
csc /out:mailer.exe /target:exe mailer.cs

Aquí va un ejemplo de mailer.cs:

using System;
using System.Web.Mail;
namespace eMailer
{
class Mailer
{
public static void Main(string[] args)
{
Console.Write("Enviador de mails\r\n-----------------\r\n");
SmtpMail.SmtpServer="localhost";
SmtpMail.Send("envia@dominio.com", "recibe@dominio.com", "test", "testing...");
Console.WriteLine("Mail enviado");
}
}
}

Aquí utilizas las mismas subrutinas de Smtp, base de datos que tengas en la página.
__________________
José Luis Chávez del Cid
Consultor, Ministerio de Salud Pública/BID
Modernización del Seguro Social (IGSS), Guatemala
servicios.igssgt.org
jlchavez está desconectado   Responder Citando
Respuesta

Calificación: Calificación de Tema: 1 votos, 5,00 de promedio.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 18:51.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93