2009-10-10 9 views
0

De temps en temps, lorsque j'exécute/débogue un site Web ASP.NET MVC via Visual Studio et que je change de CSS ou de HTML dans une vue pendant que le projet est en cours d'exécution, la session disparaît par intermittence.Visual Studio ASP.NET MVC Enregistrer la fin de la session de la solution?

J'ai confirmé cela dans le fichier Global.asax en ajoutant une méthode Session_End et en définissant un point de rupture à l'intérieur. Dès que je clique sur Enregistrer tout via Visual Studio après environ 10 minutes, Session_End est appelée. Je n'ai même pas besoin d'actualiser la page qui me semble un peu bizarre ...

Je me rends compte que la recompilation de l'application entraînerait la perte de la session, mais je ne pense pas que modifier une vue pendant que l'application est en cours d'exécution provoquerait cela.

Des pensées sur pourquoi cela pourrait éventuellement se produire?

Répondre

1

Étant donné que vous cliquez sur Enregistrer tout, vous avez peut-être également modifié un fichier de code ou le fichier web.config. Toute sorte de modification - même si vous l'avez supprimée - rendrait le fichier sale et entraînerait sa sauvegarde. Cela peut provoquer le comportement dont vous parlez.

Vous pouvez envisager d'utiliser SQL pour l'état de session dans votre environnement de développement. Je suis récemment passé à cela (parce que je devais le faire pour notre environnement de production) et je ne vois plus ce genre de comportement même lorsque j'arrête le débogage et recompile l'application. Tant que le cookie de session est toujours valide, il est capable d'extraire les informations de ma session de la base de données.

+0

Je ne modifie aucun fichier CS ou Config, simplement des vues ASPX. Y a-t-il autre chose qui pourrait causer cela? Pourquoi Session_End ne serait-il appelé qu'en cliquant sur Enregistrer tout? – aherrick

Questions connexes