Obtenir une liste de toutes les sessions actives ASP.NET
Je sais ce que l'utilisateur est connecté avec la ligne de code suivante:
Session["loggedInUserId"] = userId;
La question que je me pose est de savoir comment puis-je savoir ce que les utilisateurs sont connectés de sorte que les autres utilisateurs puissent voir ce que les utilisateurs sont actuellement connectés.
En d'autres termes puis-je obtenir toutes "loggedInUserId" sessions actives?
double possible de la Liste de tous les actifs ASP.NET les Sessions
OriginalL'auteur hhh3112 | 2012-01-13
Vous devez vous connecter pour publier un commentaire.
Je n'ai pas essayer rangitatanz solution, mais j'ai utilisé une autre méthode et ça a très bien fonctionné pour moi.
Bon poste. J'obtiens une erreur à la ligne
object[] obj2 = (object[])obj.GetType().GetField("_caches", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(obj);
dans iis6 (Windows server 2003). Fonctionne très bien sous windows XP et windows 7.Et si j'ai besoin de l'id de session pour chaque session active?
Dans MVC 5, il ne fonctionne pas.
Certains des commentaires pour expliquer ce qui se passe n'étaient pas mauvais
OriginalL'auteur hhh3112
Il y a une solution répertoriés dans cette page Liste de tous les actifs ASP.NET des Séances de
Tout compte fait, c'suit les sessions dans une Liste que vous pouvez utiliser pour trouver des informations sur. Peut vraiment stocker quoi que ce soit dans ce que vous voulez vraiment - les noms d'utilisateur ou de quoi que ce soit.
Je n'ai pas htink il n'y a rien à l'ASP .net couche qui fait déjà?
Ma compréhension est que
List.Add/Remove
ne sont pas thread-safe. Donc n'avez-vous pas besoin delock (padlock)
sur ces opérations?Oui, cela semble correct. Pourrait aussi utiliser l'un de ces nouveaux ConcurrentCollections, je suppose.
Je suis désolé, mais quelle est exactement la
padlock
objet?OriginalL'auteur Dave Walker