Sto affrontando una domanda generale in cui non riesco a trovare un buon esempio per provare da solo. Google non è un aiuto neanche.Utilizzo di istruzioni con chiamata asincrona | Cancella operazione?
immaginare una struttura come questa:
MailMessage mail = new MailMessage(sender, receiver);
using(SmtpClient client = new SmtpClient())
{
client.Host ...
client.Port ...
mail.subject ...
mail.body ...
client.SendAsync(mail);
}
Che cosa succede se il server è lento e richiede un po 'per accettare la posta. È possibile che lo SmtpClient
sia eliminato prima che l'operazione venga eseguita? Sarà cerchiato o rotto in qualche modo?
C'è una risposta generale per questo? I server qui sono troppo veloci, non so come fare una prova.
Se pensando a cancellazione di una BackgroundWorker
sua finitura sempre l'operazione in corso. Potrebbe essere lo stesso qui, o forse no ...
Sì, questo codice sarà *** *** disporre del 'Client' prima che l'e-mail viene inviata. Questo è probabilmente cattivo. – spender