Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to Reset Session Timeout in asp.net mvc

I want to Reset Session Timeout when user is still active.

  1. 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.

  2. can we set timer for session timeout.

So, Please help me anyone, how to reset session timeout??

like image 817
Developer Avatar asked Jul 14 '14 11:07

Developer


1 Answers

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.

like image 178
Sanjay Avatar answered Sep 24 '22 02:09

Sanjay