访问所有活动的客户会话集合?

时间:2013-11-07 00:20:04

标签: asp.net session-state

代码中是否有方法可以访问所有当前网站用户的Session对象,阅读他们的会话信息并对其进行更改?

在我正在使用的Web应用程序中,管理员用户将进行影响一个或多个用户的更改。但是,每个用户在登录时会在其会话中缓存这些信息。所以我需要一些方法来直接更新其会话数据,或以某种方式通知受影响的用户从数据库重新加载数据。

我们不希望他们在每个请求中访问数据库以获取该信息,因此理想情况下,它必须仅在需要时才会发生。如果无法访问其他用户的Session集合,ASP.NET中是否有其他(非数据库)方法可以直接通知特定用户发生了事件?


(只是想到了一个可能的方法,写了...之后使用一个Application变量,它包含需要更新缓存数据的所有用户ID的列表。当每个用户这样做时,他们会从列表中删除它们的ID。所以这是一种方法..还有其他吗?)

1 个答案:

答案 0 :(得分:2)

我不知道你能做到这一点,但我做了一些谷歌搜索,显然有可能如本文所述:

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

我从Stack Overflow问题中找到了链接: List all active ASP.NET Sessions

一旦你有了列表,我假设代码也允许你编辑列表......但这可能需要更多的研究和试验/错误......

相关问题