2

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

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

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


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

4

1 回答 1

2

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

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

我从这个 Stack Overflow 问题中找到了链接: 列出所有活动的 ASP.NET 会话

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

于 2013-11-07T06:26:44.460 回答