关于Application Session的问题
聊天室在Global文件里设置了
如下
private ArrayList al;
private System.ComponentModel.IContainer components = null;
public Global()
{
al=new ArrayList();
InitializeComponent();
}
protected void Application_Start(Object sender, EventArgs e)
{
Application.Lock();
Application.Add( "al ",al);
Application[ "UserTotal "]=0;
Application[ "UserNum "]=0;
Application.UnLock();
}
protected void Session_Start(Object sender, EventArgs e)
{
Application.Lock();
Application[ "UserTotal "]=int.Parse(Application[ "UserTotal "].ToString().Trim())+1;
Application[ "UserNum "]=int.Parse(Application[ "UserNum "].ToString().Trim())+1;
Application.UnLock();
}
我是用arraylist来保存登陆用户,相应的用户退出时候就应该减一,可是没有减一阿,
protected void Application_End(Object sender, EventArgs e)
{
Application.Lock(); Application[ "UserNum "]=int.Parse(Application[ "UserNum "].ToString().Trim())-1;
Application.UnLock();
}
记录用户的界面
部分
Session[ "UserName "]=this.txtName.Text;
ArrayList al=(ArrayList)Application[ "al "];
al.Add(Session[ "UserName "].ToString());
Response.Redirect( "Main.htm ");
请帮忙告诉我一下怎么样让他人数减一
并且移出退出用户的id???不胜感激
------解决方案--------------------应该是退出后过段时间,默认10分钟吧,才会减一的吧
------解决方案--------------------protected void Application_End(Object sender, EventArgs e)
{
Application.Lock(); Application[ "UserNum "]=int.Parse(Application[ "UserNum "].ToString().Trim())-1;
Application.UnLock();
}
---------------------------
应该写在Session_End里面
------解决方案--------------------protected void Application_End(Object sender, EventArgs e)
{
Application.Lock(); Application[ "UserNum "]=int.Parse(Application[ "UserNum "].ToString().Trim())-1;
Application.UnLock();
}
---------------------------
应该写在Session_End里面
同意楼上,用户退出后,Application[ "UserNum "]也over了,此时减1没意义了。