[C#] Threading quando si inviano e-mail


Answers

Controlla il seguente link per una dimostrazione del metodo sendAsync. [MSDN]

http://msdn.microsoft.com/en-ca/library/x5x13z6h(VS.80).aspx

Question

Ho una semplice funzione che invia e-mail, come utilizzerei i thread per velocizzare il recapito delle e-mail?

Il codice di esempio sarebbe l'ideale.




Avere un thread separato non velocizzerà comunque la consegna della posta elettronica. Tutto ciò che farà è restituire il controllo al metodo di chiamata più velocemente. Quindi, a meno che tu non debba farlo, non mi preoccuperei nemmeno di farlo.




Sai cosa sarebbe più bello e più facile è creare un back-end per le applicazioni e inviare e-mail ogni 30 minuti. Inserisci le informazioni in un database che devi inviare e da lì, creare un pool di applicazioni che si avvia ogni 30 minuti. Quando si avvia, è possibile inviare una e-mail. Non c'è bisogno di aspettare che il gestore di eventi invii l'e-mail ...

Funziona per noi. Ho pensato che sarebbe stato utile per te.




IN 4.0 puoi usare quanto segue,

new Thread(x => SendMail(message)).Start();

e

public static void SendEmail(MailMessage message)
{
    using (SmtpClient client = new SmtpClient("smtp.XXXXXX.com"))
    {
        client.Send(message);
    }
}