Domanda

Oggi mi sono confuso con 2 problemi relativi a HttpApplicationState di ASP.net. Le mie domande sono le seguenti

  1. Se uso un StateServer per la gestione della mia sessione (la roba di gestione della sessione out proc che voglio usare per la mia distribuzione nel web garden), è sicuro supporre che lo HttpApplicationState (accedo tramite il sistema .Web.UI.Page.Application) è anche memorizzato nello StateServer proprio come Session? Quindi, se il mio processo di lavoro A scrive un valore "10" nella Page.Application, un'altra richiesta in esecuzione nel processo worker B ad un certo punto in seguito deve vedere questo "10". per la stessa chiave: è corretto?

  2. Uno dei miei colleghi sviluppatori mi ha detto di aver trovato nel suo test, in uno scenario StateServer, se ha 100 voci chiave-valore inserite nella Page.Session quindi quando cerca di leggere uno dei la chiave da una richiesta diversa, il processo di lavoro porta tutte le 100 voci nello spazio di memoria del processo di lavoro attivo e quindi serve la chiave che è stata effettivamente richiesta dalla richiesta. è vero?

Sarebbe molto apprezzato se qualcuno potesse aiutarmi a rimuovere le mie confusioni al riguardo.

Grazie!

È stato utile?

Soluzione

  1. StateServer supporta solo lo stato della sessione, lo stato dell'applicazione è limitato a AppDomain.

  2. StateServer memorizza una serializzazione di una sessione. Non ha modo di sapere come accedere a un valore chiave specifico. Una volta effettuato l'accesso, la sessione viene reidratata nell'applicazione che la richiede e viene utilizzata come dati di sessione normali per la durata della richiesta.

Altri suggerimenti

  1. Per quanto ne so, il server di stato fuori processo non memorizza i dati di HttpApplicationState. Potresti testarlo facilmente per essere sicuro, ma ne dubito.

  2. Neanche io penso che questo sia vero. L'archivio sessioni è sostanzialmente una tabella hash. Cercare una singola chiave in una tabella hash dovrebbe restituire solo il valore associato. Non dovresti vedere il comportamento che descrivi. Ancora una volta, dovresti essere in grado di testarlo facilmente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top