I want to Reset Session Timeout when user is still active.
In my scenario my session timeout is 20 min., when session time is reached before 10 seconds i am showing a dialog to confirm the user as "Session is going to time out, Do you want to stay in ??". If user is click yes, i want to continue my session with again 20 minutes start from 21st minute, because as per requirement i am saving user session time in database table.
can we set timer for session timeout.
So, Please help me anyone, how to reset session timeout??
Write the jQuery script like:
(document).ready(function () {
$("#divdialog").dialog({
autoOpen: false,
resizable: false,
modal: true,
title: "Session Timeout",
buttons: {
Yes: function () {
$.ajax({
url: '/<your controller>/SessionTimeout', // Redirects to action method for every 20 minutes.
dataType: "json",
type: "GET",
error: function () {
alert(" An error occurred.");
},
success: function (data) {
$("#divdialog").dialog('close');
display("stop");
}
});
},
Logout: function () {
location.href = '/<your controller>/Logout';
}
}
});
});
function myFunction() { // Fires every 20 minutes
setInterval(function () {
$("#divdialog").dialog('open');
}, 1200000);
}
and Add Action Method in your controller like:
public ActionResult SessionTimeout()
{
Session.Timeout = Session.Timeout + 20;
return Json("",JsonRequestBehavior.AllowGet);
}
Hope above technique helps you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With