xra*_*inx 3 c# iis asp.net-mvc session
我有一个在IIS7上运行的ASP.NET MVC应用程序.我使用会话来跟踪登录用户.有一个名为IsSignedIn的会话.("true"表示此用户当前已登录).
我还有一个应用程序的管理页面.
现在,说已登录的user1必须立即暂停使用该服务.所以我想从我的管理页面中为user1设置的会话变量无效(这将强制用户再次登录).
有没有办法可以从我的管理页面访问/修改每个登录用户设置的会话变量?
您无法从另一个会话更改会话变量.
解决问题的一种方法是在Application-object中存储登录用户列表,然后更改该变量中的值.为此,您必须在每个页面的顶部检查该用户是否在登录用户列表中.
正如çağdaş对此答案所评论的那样,如果您存储要在应用程序变量中注销的用户列表,性能可能会更好.然后在页面的顶部做这样的事情(伪,这个实际的代码片段将无法工作)
if(Application["SuspendedUsers"].Contains(Session["UserID"]) {
Session["IsSignedIn"] = false;
Application["SuspendedUsers"].Remove(Session["UserID"]);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2566 次 |
| 最近记录: |