2016-09-20 1 views
0

Je dois prolonger le délai d'attente de session dans MVC pour maintenir la session de l'utilisateur. J'ai essayé de faire la session étendre sur Session_End dans global.asax mais cela n'a pas fonctionné.Comment étendre l'heure de session lorsque la session est vide dans ASP.Net MVC?

+0

Voir http://stackoverflow.com/questions/21990619/how-to-increase-session-timeout-in-asp-net? –

+0

est-ce ok si étendre de javascipt/jquery? –

+0

vous voulez dire, si votre session expirer 20 min et 15 min s'écoulent et après cette session expirer à nouveau à 20 min à droite? –

Répondre

0

Vous devez méthode de contrôleur d'appel à intervalle de temps spécifique selon votre exigence pour réinitialiser le délai d'attente de session de cette façon votre application s'est concentrée sur un certain intervalle de temps.

Placez votre code JQuery dans la mise en page

JQuery:

var RefreshSessionInterval; 

$(document).ready(function() {   
     clearInterval(RefreshSessionInterval); 
     RefreshSessionInterval = setInterval("RefreshSession()", 30000); // change your interval time as per requirement  
}); 

function RefreshSession() { 
     $.ajax({ 
      type: "POST", 
      url: '@Url.Action("RefreshSession", "YourControllerName")',   
      success: function (data) {    
      }, 
      error: function() { 
      } 
     }); 
} 

Controller:

Public void RefreshSession() 
{ 
    //your session reset from this line, as i know you don't have to write any code here. 
} 
+0

pouvez-vous s'il vous plaît me mettre à jour est-il fonctionne OU pas? –

1

Essayez dans votre fichier web.config,
changer le délai d'attente donné, maintenant le délai d'attente est de 60 minutes

<configuration> 
... 
<system.web> 
<sessionState mode="InProc" timeout="60" /> 
</system.web> 
... 
</configuration>