0
當一次迭代結束時,我的應用程序將重新啓動。 當代碼/應用程序出現異常時,我需要發送電子郵件。反覆發送電子郵件。 c#
假設應用程序出現異常,我正在發送電子郵件。 第一次迭代..在電子郵件中發送異常。 應用程序重新啓動該過程。 第二次迭代..當例外到它必須檢查上次發送的電子郵件時間..如果少於30分鐘,不要發送電子郵件。如果超過30分鐘發送電子郵件。
我該如何對它進行編碼?
我試過定時器。那沒用。
這裏有幾行代碼。
catch (Exception ex)
{
Log("An exception has occured in the application: " + ex.Message);
exceptionMessage = ex.Message;
failureEmail = true;
SendFailureMail(exceptionMessage);
}
private void SendFailureMail(String message)
{
emailTime = DateTime.Now.ToString("h:mm");
//if (emailTime.Equals("00:00") || emailTime.Equals("1:00") || emailTime.Equals("2:00") || emailTime.Equals("3:00")
// || emailTime.Equals("4:00") || emailTime.Equals("5:00") || emailTime.Equals("6:00") || emailTime.Equals("7:00")
// || emailTime.Equals("8:00") || emailTime.Equals("9:00") || emailTime.Equals("10:00") || emailTime.Equals("11:00")
// || emailTime.Equals("12:00"))
//{
if (failureEmail)
{
eMailID = string.Empty;
subject = string.Empty;
mailBody = string.Empty;
eMailID = eMailIDFailure;
subject = eMailSubjectFailure;
emailBodyGeneric.Append(message);
mailBody = emailBodyGeneric.ToString();
if (sendmail())
{
Log("Mail Sent");
}
else
{
Log("Sending Mail Failed.");
}
}
}
將上次發送的日期時間寫入文件;如果該文件存在且其日期時間少於30分鐘,則不做任何操作,否則發送電子郵件並將日期時間保存回磁盤。 – 2014-09-01 17:53:08