Question

Existe-t-il une méthode de code pour accéder aux objets de session pour tout Les utilisateurs actuels du site, lisent leurs informations de session et apportent des modifications à eux?

Dans une application Web avec laquelle je travaille, un utilisateur d'administrateur apportera une modification qui affecte un ou plusieurs utilisateurs. Cependant chaque utilisateur caches Ces informations de leur session lorsqu'ils se connectent. J'ai donc besoin d'un moyen de mettre à jour directement leurs données de session, soit en informer en quelque sorte les utilisateurs affectés pour recharger les données de la base de données.

Nous ne voulons pas qu'ils frappent la base de données pour ces informations sur tous demande, donc idéalement, cela ne doit se produire que lorsque cela est nécessaire. Si l'accès aux collections de session d'autres utilisateurs est impossible, y a-t-il d'autres méthodes (non-database) dans ASP.NET pour en informer directement les utilisateurs spécifiques qu'un événement a eu lieu?


(Je viens de penser à une méthode possible après avoir écrit cela .. en utilisant une variable d'application qui contient une liste de tous les ID utilisateur qui doivent mettre à jour leurs données en cache. Comme chaque utilisateur le fait, ils suppriment leur ID de la liste .. donc c'est un approche .. y en a-t-il d'autres?)

Était-ce utile?

La solution

Je ne savais pas que vous pouviez le faire, mais j'ai fait de la recherche sur Google et apparemment, c'est possible comme mentionné dans cet article:

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

J'ai trouvé le lien de cette question de débordement de pile:Énumérez toutes les sessions ASP.NET actives

Une fois que vous avez la liste, je suppose que le code vous permettra également de modifier la liste ... mais cela pourrait nécessiter quelques recherches et essais / erreurs ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top