L'état de Session ne peut être utilisé que lorsque enableSessionState est définie sur true, soit dans une configuration
Je suis en train de travailler sur Asp.net MVC 2 application avec c# en utilisant vs 2010.Je vais avoir mentionné ci-dessous d'erreur quand je lance mon application localement sous le mode de débogage.
Message d'erreur de l'image est comme ci-dessous :
Texte du message d'erreur est comme ci-dessous :
État de Session ne peut être utilisé que lorsque enableSessionState est définie sur true,
dans un fichier de configuration ou dans la directive de Page. Veuillez également
assurez-vous que le Système.Web.SessionStateModule ou une séance personnalisée de l'état
le module est inclus dans le<configuration>\<system.web>\<httpModules>
dans la section de configuration de l'application.
Ce que j'ai fait pour régler ce problème sont comme ci-dessous :
Essayez 1 : web.fichier de configuration a été modifié comme ci-dessous:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<remove name="Session" />
<add name="Session" type="System.Web.SessionState.SessionStateModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</modules>
</system.webServer
Essayer 2 est comme ci-dessous :
Mais Malheureusement encore, je vais avoir le même problème que j'ai mentionné ci-Dessus.
Mise à JOUR
Avez-vous une solution pour cela ?
Vous devez vous connecter pour publier un commentaire.
Avez-vous permettre à l'état de session dans la section?
Ou avez-vous l'ajouter à la page?
Et avez-vous vérifié que le
ASP.NET Session State Manager Service
service est en cours d'exécution? Dans votre capture d'écran, il n'est pas. Il est réglé sur le mode démarrageManual
qui vous oblige à le démarrer à chaque fois que vous souhaitez utiliser. Pour commencer, mettez en surbrillance le service et cliquez sur le bouton de lecture vert dans la barre d'outils. Il démarre automatiquement, modifier les propriétés et d'ajuster le type de Démarrage.Ou de définir la SessionState du mode de propriété
InProc
, de sorte que le service de l'état n'est pas nécessaire.Vérifier MSDN pour toutes les options disponibles en ce qui concerne le stockage des données dans le ASP.NET l'état de session.
Remarque: Il est préférable d'avoir votre Contrôleur de récupérer la valeur de la session et qu'il ajoute de la valeur pour le Modèle de votre page/contrôle (ou le ViewBag), que la façon dont la Vue ne dépend pas de la HttpSession et vous pouvez en choisir une autre source pour cet article plus tard, avec un minimum de modifications de code. Ou encore mieux, ne pas utiliser l'état de session à tous. Il peut vous tuer des performances lorsque vous utilisez beaucoup de asynchrone en javascript appels.
services.msc
) ou d'exécuternet start
sur une ligne de commande.également si vous utilisez SharePoint et rencontrez cette erreur, n'oubliez pas d'exécuter
ou vous continuez à recevoir le message d'erreur ci-dessus.
Fait
jessehouwing
a donné la solution pour le scénario normal.Mais dans mon cas, j'ai activé les 2 types de session dans mon
web.config file
C'est comme ci-dessous.
Première :
Seconde :
Donc dans mon cas je commenter Deuxième.B'cos chose que pour la production.Quand j'ai commenté seconde mon problème a disparu.
<modules>
section a travaillé pour moi, tandis que l'erreur que j'ai eu a été de me dire de l'enregistrer soushttpModules
Je veux laisser tout le monde savoir que, parfois, cette erreur est juste un résultat d'une étrange erreur de mémoire. Redémarrez votre pc et aller dans visual studio et il aura disparu!! Bizarre!
Essayez, avant de commencer à jouer autour avec votre fichier de configuration web, etc comme je l'ai fait!!!! 😉
Dans mon cas, le problème est allé loin en utilisant simplement
HttpContext.Current.Session
au lieu deSession
Je me rends compte il est accepté comme réponse, mais cela peut aider les gens. J'ai trouvé que j'avais un problème similaire avec un ASP.NET site à l'aide de NET framework 3.5 lors de l'exécution dans Visual Studio 2012 à l'aide de IIS Express 8. J'avais essayé toutes les solutions ci-dessus et aucune n'a fonctionné dans la fin de course de la solution dans l'en-construit VS 2012 serveur travaillé. Je ne sais pas pourquoi, mais je soupçonne que c'était un lien entre 3,5 et d'IIS 8.
Pour SharePoint
Peut trouver le fichier de configuration web dans C:\inetpub\wwwroot\wss\VirtualDirectories\Sitecollection numéro de port
- et de Faire des changements
et à l'aide de SharePoint Management Shell à Exécuter Commande ci-dessous
Suivant la réponse donnée ci-dessous le chemin a bien fonctionné.
J'ai trouvé une solution qui a fonctionné parfaitement! Ajoutez ce qui suit à web.config:
Espère que cela aide quelqu'un d'autre!
Cette erreur a été soulevée pour moi en raison d'une exception non gérée jeté dans la
Public Sub New()
(Visual Basic) fonction constructeur de la Page Web dans le code derrière.Si vous implémentez la fonction constructeur de placer le code dans une instruction Try/Catch et voir si cela résout le problème.
J'ai eu cette erreur uniquement lorsque le débogage de l'ASP .Net Application.
J'ai également eu
Session["mysession"]
type de variables ajoutées à ma Montre de Visual Studio.le problème a été résolu une Fois, j'ai supprimé les Variables de Session à partir de la montre.
Résout le problème ci-dessus, Il a résolu le mien!
HydTechie
L'État de Session peut être rompu si vous avez de la suite dans le Web.Config:
Si c'est le cas, vous pouvez commenter cet article, et vous n'aurez pas besoin d'autres changements pour résoudre ce problème.