我試圖通過在退出頁面之前發送電子郵件 來避免等待時間。發送電子郵件,無需等待完成執行的操作
頁/應用程序退出如下之前做的一系列動作:
- 數據庫交互
- 發送電子郵件(更新一有關的事務管理器)
- 退出頁/應用。後面的功能
代碼:
ExecEntryOnTbl(SQL);// <-- update/insert to database
sendMailNote(action);// <-- send mail with notification of update
exitTC(action, custid);<-- exit page.
done via javascript :
window.location.href = "someOtherPage.aspx"
from code behind via
RegisterClientScriptBlock(...)
我想解決這個問題:
我怎樣才能避免等待sendMailNote()
完成 以下exitTC()
可能被執行之前。那可能嗎 ?
更新電子郵件類/方法
public static class mail { public static string aReciver, bSubject, cBody; public static void sendMailNoteExc() { string SmtpServer = "smtp.gmail.com"; int port = 111; string sender = "[email protected]"; string ReCiver = aReciver; string Subject = bSubject; string Body = cBody; string account = "[email protected]"; string Pass = "a123456"; Send(SmtpServer, port, account, Pass, sender, ReCiver, Subject, Body); } public static void Send(string smtpServer,int Port,string Account, string PassWord, string From, string To, string Subject, string Body) { MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient(smtpServer); mail.From = new MailAddress(From); mail.To.Add(To); mail.Subject = Subject; mail.Body = Body; SmtpServer.Port = Port; SmtpServer.Credentials = new System.Net.NetworkCredential(Account, PassWord); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); } }
你有沒有看到最後回答'@Ehsan Aleem Avee'是否有必要指定任務屬性以便它們按照指定的方式工作? – LoneXcoder
或者這是完全不同的類/方法,他正在使用? – LoneXcoder
這兩個答案背後的想法是相同的,但他使用更低級別的API來使用後臺線程。如果您能夠使用TPL,那麼我建議您這樣做,因爲它使用起來更容易,並且使用.NET Framework線程池而不是創建新線程的速度更快。 –