Я разрабатываю приложение бронирования авиабилетов. Здесь пользователь выбирает рейс и входит в систему. После входа в систему ему необходимо предоставить 5 минут для завершения бронирования, оплаты и подтверждения билета. Если его задача не будет выполнена в течение 5 минут, его бронь будет отменена. Для отмены мне нужно событие, которое должно быть запущено. Это событие не должно запускаться, если пользовательская операция завершена в течение 5 минут.
Каков наилучший способ сделать это в MVC 5 и C #?
Я нашел метод события c # timer, чтобы выполнить задачу, но я все еще не уверен, следует ли мне использовать это или нет. Есть ли лучшее решение доступно? Кроме того, вы не знаете, как отменить бронирование по истечении 5 минут?
(Обновлено)
Я нашел решение, и оно сработало именно так, как я хотел.
В случае, если кому-то может понадобиться решение в будущем. Я положен здесь.
private static void OnTimedEvent(object source, ElapsedEventArgs e)
{
//do something
}
protected void Button1_Click(object sender, EventArgs e)
{
if (Session["Timer"] == null)
{
Session["Timer"] = new System.Timers.Timer();
}
((System.Timers.Timer)Session["Timer"]).Interval = 5000;
((System.Timers.Timer)Session["Timer"]).Elapsed += OnTimedEvent;
((System.Timers.Timer)Session["Timer"]).AutoReset = true;
((System.Timers.Timer)Session["Timer"]).Enabled = true;
}
protected void Button3_Click(object sender, EventArgs e)
{
((System.Timers.Timer)Session["Timer"]).Enabled = false;
}