Quote for the Week

"Learn to enjoy every moment of your life"

Wednesday, July 23, 2014

Know the Techniques in Asp.net MVC- How to Reset Session Timeout in MVC??

Requirement:

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??


Technique:

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);
        }



Know another technique to you?? Just mail to dotnetcircle@gmail.com      

No comments: