Impossibile effettuare la richiesta dello stato della sessione al server dello stato della sessione


122

Il nostro sito sta attualmente riscontrando questo problema. Fondamentalmente accade solo quando si fa clic su alcuni collegamenti particolari in cui verrà visualizzata una nuova finestra.
Questo è il messaggio di errore che riceviamo:

Impossibile effettuare la richiesta dello stato della sessione al server dello stato della sessione.
Assicurati che il servizio ASP.NET State sia avviato e che le porte client e server siano le stesse.
Se il server si trova su una macchina remota, assicurarsi che accetti richieste remote controllando il valore di HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection.
Se il server si trova sulla macchina locale e se il valore di registro menzionato in precedenza non esiste o è impostato su 0, la stringa di connessione del server di stato deve utilizzare "localhost" o "127.0.0.1" come nome del server.

sito di destinazione:
Void MakeRequest (StateProtocolVerb, System.String, StateProtocolExclusive, Int32, Int32, Int32, Byte [], Int32, Int32, SessionNDMakeRequestResults ByRef)

questo è il webconfig che contiene il tag sessionstate:

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

Ho controllato il servizio di stato ASP.NET ed è attualmente avviato e impostato su automatico

Ho impostato il registro indicato nel messaggio di errore su 1, ma ancora non funziona.

Risposte:


305
  1. Start–> Strumenti di amministrazione -> Servizi
  2. Fare clic con il pulsante destro del mouse su ASP.NET State Service e fare clic su "Start"

Inoltre è possibile impostare il servizio su automatico in modo che funzioni dopo un riavvio


2
A volte ho scoperto che funziona solo dopo aver riavviato il servizio di stato ASP.NET un paio di volte!
Matthew Lock

2
Lavora come un incantesimo per me
Arun

1
Il nome esatto è aspnet_state.
AmiNadimi

1
Il tuo mio eroe ... lo stavo cercando da così tanto tempo.
G43beli

1
mi hai risparmiato ... ore spostando tutti ... e arrivate con questa semplice soluzione ... davvero .. grazie
Roger Tello

26

Se è necessario modificare HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection su 1, ricordarsi di riavviare il servizio di stato ASP.net dopo aver modificato il parametro.


@hikkenmikke Come controlli e modifichi HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection
Pomster

8

Controllalo:

stateConnectionString="tcpip=server:port"

è corretto. Inoltre, controlla che la porta predefinita ( 42424) sia disponibile e che il tuo sistema non abbia un firewallche blocca la porta sul tuo sistema


1
Ho lo stesso problema, verificato che il mio servizio di stato della sessione funzioni correttamente, ma ricevo ancora lo stesso messaggio. Ecco la mia impostazione 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

Digitare Services.msc nel pannello di esecuzione della finestra di esecuzione di Windows. Elencherà tutti i servizi di Windows nel nostro sistema. Ora dobbiamo avviare il servizio Asp .net State come mostrato nell'immagine.inserisci qui la descrizione dell'immagine

Il tuo problema verrà risolto.


Ho ricevuto questo errore dopo il riavvio a causa di Windows Update. Ho seguito questi passaggi e ha funzionato. Grazie.
Mauricio Arias Olave

4

Uno dei miei clienti stava affrontando lo stesso problema. Per risolvere questo problema vengono eseguiti i passaggi seguenti.

 (1) Open Run. 

 (2) Type Services.msc

 (3) Select ASP.NET State Service

 (4) Right Click and Start it.

2

Un'altra cosa da verificare è se hai Windows Firewall abilitato, poiché potrebbe bloccare la porta 42424.


2

Ho scoperto che alcuni sviluppatori per qualche motivo definiranno l'IP privato del server al di fuori di IIS in una posizione imprevista, come un file di configurazione non standard (cioè non web.config) o un file di testo. Ciò può causare il fallimento del funzionamento interno anche quando il servizio è avviato, le porte non vengono bloccate, le chiavi di registro sono corrette, ecc.

Kaseya, in particolare, inserisce un file chiamato serveripinternal.txt nella directory principale IIS del server VSA. Ho visto il testo del tuo errore quando qualcuno che esegue la propria istanza Kaseya ha cambiato l'IP interno del server. Il server sarà raggiungibile, IIS risponderà e verrà visualizzata la pagina di accesso, ma l'accesso non riuscirà con il messaggio citato.



0

Di recente ho riscontrato questo problema e nessuna delle soluzioni proposte lo ha risolto. Il problema si è rivelato essere un uso eccessivo dei set di dati memorizzati nella sessione. C'era un difetto nel codice che fa aumentare di 10 volte la dimensione della sessione.

C'è un articolo sul blog msdn che parla anche di questo. http://blogs.msdn.com/b/johan/archive/2006/11/20/sessionstate-performance.aspx

Ho usato una funzione per scrivere messaggi di traccia personalizzati per misurare la dimensione dei dati della sessione sul sito live.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.