我有一個for循環循環,併發送一個電子郵件每個循環。現在即時通訊使用thread.sleep(),但我希望用戶仍然能夠與程序進行交互,只需一個循環即可。有沒有可能做到這一點,而不使用thread.sleep?延遲不使用Thread.Sleep的電子郵件的發送c#
0
A
回答
0
您需要將分隔線程中的郵件發送方法保持爲GUI交互。
Thread newThread = new Thread(new ThreadStart(SendMail));
newThread.Start();
public void SendMail()
{
//Send mails here
}
0
你可以分離一個新的線程發送電子郵件,所以你不鎖定UI線程。
0
嘗試將代碼移到後臺線程。
1
你在UI線程上運行循環嗎?如果是這樣,只需使用Task.Factory.StartNew在不同的線程中運行循環。如果您當時需要延遲發送電子郵件,請在實際開始循環之前放置一個Thread.Sleep。
它會是這個樣子:
private void OnButtonClick(object sender, EventArgs e)
{
//This code happens on the UI thread
Task.Factory.StartNew(SendEmails);
}
private void SendEmails()
{
Thread.Sleep(500);
foreach(var email in emailAddresses) {
SendEmail(email);
}
}
相關問題
- 1. NodeJS發送延遲電子郵件
- 2. 如何延遲發送電子郵件?
- 3. 發送電子郵件沒有延遲
- 4. 延遲發送電子郵件
- 5. 延遲發送電子郵件與PHP
- 6. c#中的延遲不thread.sleep
- 7. 使用MailMessage和SmtpClient或MessageQueue延遲發送電子郵件
- 8. 延遲發送電子郵件使用codeigniter
- 9. 延遲作業未發送特定電子郵件設置的電子郵件
- 10. Sidekiq延遲寄件人不發送電子郵件
- 11. Laravel延遲電子郵件觸發
- 12. 從設計發送延遲的電子郵件
- 13. 發送的電子郵件到達時數小時延遲
- 14. 可能延遲Jenkins中的電子郵件發送?
- 15. 每個MySQL條目的延遲發送自動電子郵件
- 16. Heroku:多次延遲發送電子郵件的作業
- 17. 從控制器發送電子郵件時發生延遲
- 18. 使用c發送電子郵件#
- 19. 使用C發送電子郵件#
- 20. 發送電子郵件使用asp.net,C#
- 21. Google Apps腳本 - 延遲48小時發送電子郵件
- 22. 延遲工作:明天發送電子郵件
- 23. 電子郵件排隊和發送沒有延遲
- 24. 發送延遲電子郵件軌對heroku
- 25. 發送電子郵件C#
- 26. django推遲發送電子郵件?
- 27. 推遲發送電子郵件(展望)
- 28. 發送電子郵件操作不發送電子郵件
- 29. 通過Visual C++/Cli不發送郵件發送電子郵件
- 30. 如何在不延遲ASP.NET響應的情況下發送電子郵件?
移動循環到後臺線程。如果電子郵件發送必須位於主/ GUI線程上,請將實際發送提升至主線程,但將睡眠狀態移至後臺線程。 –
是否需要在每個循環迭代中發送電子郵件?或者在完成循環後發送一個(或多個)就足夠了嗎? –
不知道爲什麼有人還沒有問這個問題,但是......爲什麼你延遲發送? – James