0
我想使用smtp clinet發送電子郵件。此操作應該在其他線程中執行以重定向到索引頁面。到目前爲止,我已經編寫了下面的代碼。以異步方式發送電子郵件
private async Task<int> SendEmail(System.Net.Mail.SmtpClient smtp, System.Net.Mail.MailMessage m)
{
smtp.Send(m);
return 0;
}
以這種方式在其他異步任務方法中調用此方法。
await SendEmail(smtp, m);
這個建議是否正確?
標有'async'的方法也應該使用'await'執行'async'動作。如果不是這種情況,那麼你不應該使用'async',並且如果它也不返回一個'Task' /'任務',那麼刪除它,只是讓它返回一個int。最後,如果它*是一個異步方法,如果返回類型是'void',則返回'Task'。 –
Igor
很難說什麼是「正確的」,而不知道你想要做什麼以及爲什麼。在這個代碼中沒有任何東西啓動一個線程,'Send'方法不是異步的,所以我不確定你現在認爲你在做什麼。 – kai
沒有任何關於創建線程的'async' /'await'。除非你「等待」創建線程的東西,否則不會創建新線程。 – Enigmativity