2016-01-11 1 views
0

J'utilise Sessions dans ASP.NET MVC4 et je stocke des données en session, tout fonctionne bien jusqu'à ce que je clique sur un bouton et que toutes les sessions dans les applications deviennent nul. Dès que j'appuie sur la méthode d'action de mon contrôleur, toutes les sessions de l'application sont nulles. J'ai essayé d'utiliser la requête Ajax GET au lieu de window.location.href.Asp.NET MVC Nombre de sessions remonte à 0 après le clic du bouton

ici est mon web.config mise

<sessionState cookieless="false" mode="InProc" timeout="60" /> 

et Global.asax i ont cette

protected void Session_Start(Object sender, EventArgs e) 
{ 
    Session["init"] = 0; 
} 

et je vérifie le comte

var sessionCount = Session.Count; 

en utilisant également Visual Studio Regarder la fenêtre pour surveiller mon objet de session. J'utilise l'authentification Windows.

pouvez-vous les gars s'il vous plaît aider, pourquoi les sessions sont supprimées sur la demande de bouton?

Merci

+0

comment savez-vous s'il est supprimé/disparu? Comment vérifiez-vous cela? – Shyju

+0

Fenêtre Visual Studio Watch. je regarde le nombre total de mes sessions aussi je vérifie si ma session devient nulle ou pas. toutes les sessions deviennent nulles. – dnts2012

+0

Vous devez montrer ce code pour que les gens puissent aider – Shyju

Répondre

0

Je pense que vous avez mal compris le concept. Session_start() sera toujours activé, ce qui entraînera la réinitialisation de la valeur de la session à 0.

Solution: Créer un contrôleur de base et d'hériter dans ce chaque contrôleur que vous faites. Remplacez la fonction OnActionExecuting() dans le contrôleur de base, puis manipulez votre session. Aussi la session dans MVC réside sur le contexte du contrôleur actuel donc utilisez-le largement