Kullanıcı web sitesinde her kaydolduğunda e-posta gönderen bir ASP.NET uygulamasına sahibim. E-posta göndermek için işleri yönetmek ve posta göndermek için hangfire kullanıyorum.Bir işi ASP.NET ile Hangfire kullanarak başarısız hale getirecek şekilde ayarlayın?
Ben süper APP işi silmeden önce e-posta gönderebilir kaç kez değiştirmek istiyorum: Hepsi burada harika çalışır, ancak
şey.
İşte
public static void WelcomeUser(DBContexts.Notifications not)
{
try{
var viewsPath = Path.GetFullPath(HostingEnvironment.MapPath(@"~/Views/Emails"));
var engines = new ViewEngineCollection();
engines.Add(new FileSystemRazorViewEngine(viewsPath));
Postal.EmailService service = new Postal.EmailService(engines);
WelcomeUserMail welcomeUserMail = new WelcomeUserMail();
welcomeUserMail.To = not.ReceiverEmail;
welcomeUserMail.UserEmail = not.ReceiverEmail;
welcomeUserMail.From = BaseNotification.GetEmailFrom();
service.Send(welcomeUserMail);
}
catch(Exception e)
{
DBContexts.DBModel dbModel = new DBModel();
DBContexts.Notifications notificacionBD = dbModel.Notifications.Find(not.NotificationID);
notificacionBD.Status = false;
notificacionBD.Timestamp = DateTime.Now;
notificacionBD.Error = e.Message;
int numberOfRetriesAllowed = ParameterHelper.getNumberOfRetriesAllowed();
if (notificacionBD.Retries > numberOfRetriesAllowed)
{
//In this case Hangfire won't put this job in the failed section but rather in the processed section.
dbModel.SaveChanges();
}
else
{
notificacionBD.Retries++;
dbModel.SaveChanges();
throw new Exception(e.Message);
}
}
}
Hayır, demek ben süper kullanıcı deneme sayısını değiştirmek için izin istemeniz. Bu yüzden benimle başa çıkmak istiyorum. – ggderas
Sağ. AutomaticRetryAttribute'un nasıl yapıldığını gözden geçirip kendi şartlarınızla değiştirerek kendi AutomaticRetry özniteliğinizi oluşturabilirsiniz. –