Domanda

sto facendo un'applicazione che fa uso di variabili di sessione. Ho creato una classe "HistoryLine" e un altro chiamato "HistoryLineCollection" con un elenco di s "HistoryLine" in esso. Ho poi salvare l'istanza del HistoryLineCollection alla sessione in questo modo:

Session [ "HistoryLines"] = hLines;

Il problema è che quando guardo questo su un altro computer, vedo la stessa lista! Ho pensato sessioni in cui cliente unico? Ho esaminato il sessionState e forse il SessionID viene clonato o qualcosa del genere, ma non riesco proprio a vederlo. Chiunque ha un'idea?

È stato utile?

Soluzione

No, la sessione asp.net non è condivisa. Un modo perché questo avvenga è la navigazione l'applicazione su un computer, e quindi utilizzando il link su un altro computer (detto voi Im a qualcuno). In questo scenario, se vi capita di avere i cookie disabilitati, l'ID di sessione è sul Url. L'altra persona sarebbe sulla stessa sessione. Se questo non è il caso, allora hanno davvero un'occhiata alle classi che si sta utilizzando, specialmente nulla contrassegnato come statica.

Altri suggerimenti

Sono i membri della classe che si crea e poi messi in Session in qualche modo statico (aka comune)?

Controllare il codice che crea la lista di mettere in sessione. Probabilmente si sta creando la stessa lista per ogni sessione.

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