Domanda

Esiste un metodo nel codice per accedere agli oggetti di sessione per tutto utenti del sito attuali, leggere le informazioni sulla sessione e apportare modifiche a loro?

In un'applicazione Web con cui sto lavorando, un utente amministratore apporterà una modifica che influisce su uno o più utenti. Tuttavia ogni utente Cache Tali informazioni nella loro sessione quando accedono. Quindi ho bisogno di un modo per aggiornare direttamente i dati della sessione o in qualche modo avvisare gli utenti interessati di caricare i dati dal database.

Non vogliamo che colpiscano il database per quelle informazioni su ogni Richiedi, così idealmente deve accadere solo quando richiesto. Se accedere alle raccolte di sessioni di altri utenti è impossibile, ci sono altri metodi (non database) in ASP.NET per notificare direttamente gli utenti specifici che un evento ha avuto luogo?


(Ho solo pensato a un possibile metodo dopo aver scritto che .. Utilizzo di una variabile dell'applicazione che contiene un elenco di tutti gli ID utente che devono aggiornare i loro dati memorizzati nella cache. Come ogni utente lo fa, rimuovono il proprio ID dall'elenco. Quindi è uno approccio .. ce ne sono altri?)

È stato utile?

Soluzione

Non sapevo che potessi farlo, ma ho fatto un po 'di googling e apparentemente è possibile come menzionato in questo articolo:

http://weblogs.asp.net/imranbaloch/archive/2010/04/05/reading-all-users-session.aspx

Ho trovato il link da questa domanda di overflow dello stack:Elenca tutte le sessioni Active ASP.NET

Una volta che hai l'elenco, presumo che il codice ti permetterà anche di modificare l'elenco ... ma ciò potrebbe richiedere ulteriori ricerche e prove/errori ...

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