137 votes

Impossible de faire la demande d'état de session au serveur d'état de session

Notre site rencontre actuellement ce problème. En fait, il ne se produit que lorsque nous cliquons sur certains liens particuliers qui ouvrent une nouvelle fenêtre.
Voici le message d'erreur que nous recevons :

Impossible d'effectuer la demande d'état de session au serveur d'état de session.
Veuillez vous assurer que le service ASP.NET State est démarré et que les ports du client et du serveur sont les mêmes.
Si le serveur est sur un machine distante, veuillez vous assurer qu'il accepte les requêtes distantes en vérifiant la valeur de HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection.
Si le serveur se trouve sur la machine locale, et si la commande avant valeur de registre mentionnée ci-dessus n'existe pas ou a la valeur 0, la chaîne de connexion du doit utiliser soit 'localhost' soit '127.0.0.1' comme nom de serveur. le nom du serveur.

site cible :
Vide MakeRequest(StateProtocolVerb, System.String, StateProtocolExclusive, Int32, Int32, Int32, Byte[], Int32, Int32, SessionNDMakeRequestResults ByRef)

Ceci est le webconfig qui contient le tag sessionstate :

<sessionState mode="StateServer" timeout="45" />

J'ai vérifié le service d'état ASP.NET, et il est actuellement démarré et configuré pour être automatique.

J'ai mis le registre indiqué dans le message d'erreur à 1, mais cela ne fonctionne toujours pas.

3voto

jwanagel Points 3531

Vous pouvez également vérifier si le pare-feu Windows est activé, car il peut bloquer le port 42424.

2voto

Matthew Lock Points 3945

J'ai eu le même problème lorsqu'une installation ASP.NET était corrompue. Dans ce cas, ils suggèrent Exécution de aspnet_regiis -i -enable

2voto

One-Note Pony Points 21

J'ai constaté que certains développeurs, pour une raison ou une autre, définissent l'IP privée du serveur en dehors d'IIS dans un emplacement inattendu, comme un fichier de configuration non standard (c'est-à-dire pas web.config) ou un fichier texte. Cela peut entraîner l'échec d'une opération interne, même si le service est lancé, si les ports ne sont pas bloqués, si les clés de registre sont correctes, etc.

Kaseya, en particulier, place un fichier appelé serveripinternal.txt dans le répertoire racine IIS du serveur VSA. J'ai vu le texte de votre erreur lorsque quelqu'un exécutant sa propre instance Kaseya a changé l'IP interne du serveur. Le serveur sera joignable, IIS répondra, et la page de connexion s'affichera - mais la connexion échouera avec le message cité.

1voto

Ce n'est pas la meilleure réponse, mais c'est quand même une option :

Commenter la ligne donnée dans le web.config.

0voto

Ahmed Mansour Points 231

J'ai récemment rencontré ce problème et aucune des solutions proposées ne l'a résolu. Le problème s'est avéré être une utilisation excessive des ensembles de données stockés dans la session. Il y avait un défaut dans le code qui faisait que la taille de la session était multipliée par 10.

Il y a un article sur le blog msdn qui parle aussi de cela. http://blogs.msdn.com/b/johan/archive/2006/11/20/sessionstate-performance.aspx

J'ai utilisé une fonction pour écrire des messages de suivi personnalisés afin de mesurer la taille des données de session sur le site en direct.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X