问一个销毁其他SESSION的问题

fengyecsdn 2010-09-04 08:40:06
一个ASP.NET网站,有一些页面和WEBSERVICE
现在由于某些业务原因要求程序 能够随时终止某个会话的操作。
并清空该SESSION。

请教一下 如何获取全部在线的会话? 并销毁这个会话。

谢谢大家
...全文
134 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
dengNeeo 2010-09-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 net_lover 的回复:]
一个用户不能管理其他用户创建的 Session的。如果你采用的是数据库保存,则可以通过数据库进行操作。这样比较好,如果不是数据库,则你可以记录每一个 Session,


C# code
<%@ Application Language="C#" %>
<%@ Import Namespace="System.Collections.Generic" %>

<script RunA……
[/Quote]
想法特别的好 具有概括力的哦
老Key 2010-09-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 net_lover 的回复:]
一个用户不能管理其他用户创建的 Session的。如果你采用的是数据库保存,则可以通过数据库进行操作。这样比较好,如果不是数据库,则你可以记录每一个 Session,


C# code
<%@ Application Language="C#" %>
<%@ Import Namespace="System.Collections.Generic" %>

<script RunA……
[/Quote]恩,,这个想法不错。。学习。。。
fengyecsdn 2010-09-28
  • 打赏
  • 举报
回复
感谢孟子 不过对您的代码有个问题 这样清除的SESSION 实际上是清除的自己维护的一套SESSION呢 还是管理的系统自己的SESSION呢?
xingdongfang 2010-09-04
  • 打赏
  • 举报
回复
这很简单 呀

当这个session再次请求的时候,封掉它
if(Session["username"] =="david")
{
Session.Abandon();
throw new exception("you can not be live any more");
}
leejelen 2010-09-04
  • 打赏
  • 举报
回复
学习!
孟子E章 2010-09-04
  • 打赏
  • 举报
回复
一个用户不能管理其他用户创建的 Session的。如果你采用的是数据库保存,则可以通过数据库进行操作。这样比较好,如果不是数据库,则你可以记录每一个 Session,

<%@ Application Language="C#" %>
<%@ Import Namespace="System.Collections.Generic" %>

<script RunAt="server">

void Application_Start(object sender, EventArgs e)
{
Dictionary<string, string> d = new Dictionary<string, string>();
Application.Add("Sessions", d);
}

void Session_Start(object sender, EventArgs e)
{
((Dictionary<string, string>)Application["Sessions"]).Add(Session.SessionID, User.Identity.Name);
}

void Session_End(object sender, EventArgs e)
{
((Dictionary<string, string>)Application["Sessions"]).Remove(Session.SessionID);
}

void Application_End(object sender, EventArgs e){ }
void Application_Error(object sender, EventArgs e) { }
</script>


读取全部Session
        Dictionary<string, string> d = (Dictionary<string, string>)Application["Sessions"];
foreach (KeyValuePair <string ,string > item in d)
Response.Write(item.Key + " " + item.Value + "<br/>");


然后你在程序里面,通过Dictionary来加以判断
hzq1074 2010-09-04
  • 打赏
  • 举报
回复
Session["UserName"] = null;
但是Session["UserName"] = null;会清楚所有session
wwfgu00ing 2010-09-04
  • 打赏
  • 举报
回复
Session["UserName"] = null;
q107770540 2010-09-04
  • 打赏
  • 举报
回复
FormsAuthentication.SignOut();
Session.Clear();
Session.Abandon();
Response.Clear();
wuyq11 2010-09-04
  • 打赏
  • 举报
回复
Session.Abandon();
Session["UserName"] = null;
重启应用程序
数据库等记录在线用户,AJAX轮询获取在线信息

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧