2013-11-07 4 views
2

Есть ли способ в коде для доступа к объектам сеанса для всех текущих пользователей сайта, прочитать их информацию о сеансе и внести в них изменения?Доступ ко всем коллекциям сеансов активных клиентов?

В веб-приложении, с которым я работаю, пользователь Admin внесет изменения, которые влияют на одного или нескольких пользователей. Однако каждый пользователь кэширует эту информацию на своем сеансе при входе в систему. Поэтому мне нужно как-то либо напрямую обновлять данные сеанса, либо как-то уведомлять пострадавших пользователей о повторной загрузке данных из базы данных.

Мы не хотим, чтобы они попали в базу данных для этой информации на каждый, так что в идеале это должно произойти только тогда, когда это необходимо. Если доступ к коллекциям сеансов других пользователей невозможен, существуют ли в ASP.NET другие (не-базы) методы для непосредственного уведомления конкретных пользователей о том, что произошло событие?


(Только мысль одного возможного способа после написания этого .. используя переменную Application, который содержит список всех идентификаторов пользователей, которым необходимо обновлять свои данные в кэше. Поскольку каждый пользователь делает это, они снимают их удостоверение личности с ? список .. так что это один подход .. есть любые другие)

ответ

2

Я не знаю, что вы могли бы сделать это, но я сделал некоторые прибегая к помощи и, по-видимому, можно, как указано в этой статье:

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

Я нашел ссылку для м это переполнение стека вопрос: List all active ASP.NET Sessions

После того, как у вас есть список Я предполагаю, что код также позволит Вам редактировать список ... но что может потребоваться некоторые дополнительные исследования и пробное/ошибка ...

+1

Большое спасибо, это довольно здорово. .NET продолжает удивлять! –

Смежные вопросы