Pregunta

¿Hay un método en código para acceder a los objetos de sesión para todos Usuarios actuales del sitio, lea la información de su sesión y les realiza cambios a ellos?

En una aplicación web con la que estoy trabajando, un usuario administrativo hará un cambio que afecte a uno o más usuarios. Sin embargo, cada usuario cachés Esa información en su sesión cuando inicia sesión. Por lo tanto, necesito una forma de actualizar sus datos de sesión directamente, o de alguna manera notificar a los usuarios afectados para que vuelvan a cargar los datos de la base de datos.

No queremos que golpeen la base de datos para esa información sobre cada Solicitar, por lo que idealmente solo debe suceder cuando sea necesario. Si es imposible acceder a las colecciones de sesiones de otros usuarios, ¿existen otros métodos (no database) en ASP.NET para notificar directamente a los usuarios específicos que ha tenido lugar un evento?


(Simplemente pensé en un posible método después de escribir eso ... utilizando una variable de aplicación que contiene una lista de todas las ID de usuario que necesitan actualizar sus datos en caché. Como cada usuario lo hace, elimina su ID de la lista ... así que esa es una enfoque ... ¿hay otros?)

¿Fue útil?

Solución

No sabía que podías hacer esto, pero hice un poco de Google y aparentemente es posible como se menciona en este artículo:

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

Encontré el enlace de esta pregunta de desbordamiento de pila:Enumere todas las sesiones activas de ASP.NET

Una vez que tenga la lista, supongo que el código también le permitirá editar la lista ... pero eso puede requerir más investigación y prueba/error ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top