결제 창 클라이언트가 지불 버튼을 클릭하면 타이머를 시작하고 싶습니다. 지불 처리에 5 초가 넘는 시간이 걸리면 페이지로 리디렉션하고 싶습니다. 아래는 내가 생각할 수있는 것입니다.ASP.net에서 타이머 설정 mvc 웹 사이트
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult SavePayment(PaymentFormMV data)
{
if (Session["startTime"] == null)
{
Session["startTime"] = DateTime.Now;
}
var ticksRemaining = DateTime.Now - (DateTime)Session["startTime"];
int x = int.Parse(ticksRemaining.ToString()); // Format Unhandled exception
if(x == 5)
{
return RedirectToAction("Index", "Home");
}
// Payment Logic Here to 3rd Party API
return View("PaymentConfirmation", returnData);
}
하지만 ticksRemaining을 계산할 때 예상대로 작동하지 않습니다. 나는 여기에 무엇인가가 필요합니까? 나는 새로운 개발을 안내 해주고 있습니다. 버튼 클릭과 현재 시간 사이의 시간 간격을보고 싶습니다. 5 초가 지나면 사용자를 새 페이지로 리디렉션하고 싶습니다.
가 던지고 어떤 예외? 페이지에서 리디렉션을 요청하는 클라이언트에서이 작업을 수행해보십시오. 그러나 두 가지 솔루션 중 하나를 사용하면 장기 실행 작업 실행을 중단하지 않을 것입니다. 당신이 지금 설정 한 방식으로, 사용자는 아무것도하기 위해 버튼을 두 번 클릭해야 할 것입니다. – krillgar
"예외가 발생했습니다"- 적어도 예외 메시지를 포함하면 유용 할 것이라고 생각합니까? – Igor
@krillgar : 나는 배우려고 노력하는 초보자입니다. 클라이언트 측에서 더 잘 수행 할 수 있다면 저를 안내해 줄 수 있습니까? 그렇다면 모든 링크를 제공 할 수 있습니다. 그리고 코드를 편집했습니다. 외관상으로는, 나의 접근은 정확하지 않다. – Unbreakable