SmtpClient.SendAsync - Wie kann die Anwendung beendet werden, bevor der Rückruf ausgelöst wird?

8

Ich muss E-Mails asynchron über eine Konsolenanwendung senden. Ich muss einige DB-Updates auf dem Rückruf durchführen, aber meine Anwendung wird beendet, bevor der Rückrufcode ausgeführt wird!

Wie kann ich das auf eine nette Art und Weise verhindern, statt einfach zu raten wie lange ich warten soll, bevor ich gehe? Ich könnte mir vorstellen, dass die Async-Aufrufe in irgendeiner Form von Thread platziert werden? Ist es möglich, zu überprüfen, ob irgendwelche warten, um angerufen zu werden?

Beispielcode

%Vor%     
James 19.11.2009, 19:44
quelle

1 Antwort

8

Erstellen Sie einen ManualResetEvent-Aufruf WaitOne, bevor Sie den Vorgang beenden. Wenn die letzte Email / dbupdate ausgeführt wurde, rufen Sie Set auf ManualResetEvent auf.

%Vor%     
Hasani Blackwell 19.11.2009, 19:58
quelle

Tags und Links