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


122

Notre site rencontre actuellement ce problème. Fondamentalement, cela ne se produit que lorsque nous cliquons sur des liens particuliers où une nouvelle fenêtre apparaîtra.
Voici le message d'erreur que nous recevons:

Impossible d'envoyer la demande d'état de session au serveur d'état de session.
Veuillez vous assurer que le service d'état ASP.NET est démarré et que les ports client et serveur sont identiques.
Si le serveur se trouve sur une machine distante, assurez-vous qu'il accepte les demandes 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 valeur de registre mentionnée précédemment n'existe pas ou est définie sur 0, la chaîne de connexion du serveur d'état doit utiliser «localhost» ou «127.0.0.1» comme nom de serveur.

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

c'est le webconfig qui contient la balise sessionstate:

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

J'ai vérifié le service d'état ASP.NET, et il est actuellement démarré et défini sur automatique

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

Réponses:


305
  1. Démarrer -> Outils d'administration -> Services
  2. Cliquez avec le bouton droit sur le service d'état ASP.NET et cliquez sur «démarrer»

De plus, vous pouvez définir le service sur automatique afin qu'il fonctionne après un redémarrage


2
Parfois, j'ai trouvé que cela ne fonctionne qu'après avoir redémarré le service d'état ASP.NET plusieurs fois!
Matthew Lock

2
Travaille comme un charme pour moi
Arun

1
Le nom exact est aspnet_state.
AmiNadimi

1
Ton mon héros ... cherchait ça depuis si longtemps.
G43beli

1
vous m'avez sauvé ... des heures en émouvant tout le monde ... et vous arrivez avec cette solution simple ... vraiment .. merci
Roger Tello

26

Si vous devez modifier HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection sur 1, n'oubliez pas de redémarrer le service d' état ASP.net après avoir modifié le paramètre.


@hikkenmikke Comment vérifier et modifier HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection
Pomster

8

Regarde ça:

stateConnectionString="tcpip=server:port"

est correct. Veuillez également vérifier que le port par défaut ( 42424) est disponible et que votre système ne dispose pas d'un firewallqui bloque le port sur votre système


1
J'ai le même problème, vérifié que mon service d'état de session fonctionne correctement, mais je reçois toujours le même message. Voici mon paramètre web.config: <sessionState mode = "StateServer" stateConnectionString = "tcpip = 127.0.0.1: 42424" sqlConnectionString = "data source = 127.0.0.1; Trusted_Connection = yes" cookieless = "false" timeout = "30" />
lstanczyk

5

Tapez Services.msc dans le panneau d'exécution de la fenêtre d'exécution de Windows. Il listera tous les services Windows de notre système. Maintenant, nous devons démarrer le service Asp .net State comme indiqué dans l'image.entrez la description de l'image ici

Votre problème sera résolu.


J'ai eu cette erreur après le redémarrage en raison de Windows Update. J'ai suivi ces étapes et cela a fonctionné. Je vous remercie.
Mauricio Arias Olave

4

Un de mes clients faisait face au même problème. Les étapes suivantes sont prises pour résoudre ce problème.

 (1) Open Run. 

 (2) Type Services.msc

 (3) Select ASP.NET State Service

 (4) Right Click and Start it.

2

Une autre chose à vérifier est de savoir si le pare-feu Windows est activé, car cela pourrait bloquer le port 42424.


2

J'ai découvert que certains développeurs définiront pour une raison quelconque l'adresse 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 du fonctionnement interne même lorsque le service est démarré, les ports ne sont pas bloqués, 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'adresse IP interne du serveur. Le serveur sera accessible, IIS répondra et la page de connexion s'affichera - mais la connexion échouera avec le message cité.



0

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 une faille dans le code qui entraînait une augmentation de 10x de la taille de la session.

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

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


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.