ページを終了する前にメールを送信することで、待ち時間を回避しようとしています。
ページ/アプリケーションは、終了する前に次のように一連のアクションを実行しています。
- データベースの相互作用
- 電子メールの送信(そのトランザクションについてマネージャーを更新します)
- ページ/アプリケーションを終了します。
関数の背後にあるコード:
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 = "aaa@bbb.com"; string ReCiver = aReciver; string Subject = bSubject; string Body = cBody; string account = "acc@domain.com"; 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); } }