asp.net用户登录并发数控制
2013-04-02 09:45
253 查看
登录成功后,得到允许该用户并发数的数量onlineNum;name为该用户的用户名;
Application[name + "_count"]=onlieNum;
if (Application[name + "_login"] == null)
{
string id = SiteSession.SessionId;
ArrayList arr = new ArrayList();
arr.Add(id);
Application[name + "_login"] = arr;
}
else
{
ArrayList arr = new ArrayList();
arr = (ArrayList)Application[name + "_login"];
if (arr.Count < Convert.ToInt16(Application[name + "_count"]))
{
string id = SiteSession.SessionId;
arr.Add(id);
Application[name + "_login"] = arr;
}
else
{
MessageBox.Show(Page, "超过最大连接数,请稍后再试");
return;
}
}
在global.asax文件中(防止意外退出)
void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
ArrayList arr = (ArrayList)Application[HttpContext.Current.Session["UserAccount"].ToString()+"_login"];
if(arr.Contains(HttpContext.Current.Session.SessionID))
{
arr.Remove(HttpContext.Current.Session.SessionID);
}
}
Application[name + "_count"]=onlieNum;
if (Application[name + "_login"] == null)
{
string id = SiteSession.SessionId;
ArrayList arr = new ArrayList();
arr.Add(id);
Application[name + "_login"] = arr;
}
else
{
ArrayList arr = new ArrayList();
arr = (ArrayList)Application[name + "_login"];
if (arr.Count < Convert.ToInt16(Application[name + "_count"]))
{
string id = SiteSession.SessionId;
arr.Add(id);
Application[name + "_login"] = arr;
}
else
{
MessageBox.Show(Page, "超过最大连接数,请稍后再试");
return;
}
}
在global.asax文件中(防止意外退出)
void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
ArrayList arr = (ArrayList)Application[HttpContext.Current.Session["UserAccount"].ToString()+"_login"];
if(arr.Contains(HttpContext.Current.Session.SessionID))
{
arr.Remove(HttpContext.Current.Session.SessionID);
}
}
相关文章推荐
- ASP.NET 控制用户的登录
- ASP.NET用户重复登录控制
- ASP.NET防用户重复登录的方法
- 解决:用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败 ASP.NET程序
- 如何在ASP.NET中使用验证通过的Windows Live ID用户登录网站
- ASP.NET用户登录后跳转到 登录前 的页面 url 跳转
- Asp.net中防止用户多次登录的方法
- Asp.net中防止用户多次登录的方法
- 在ASP.NET中怎么用SESSION判断用户是否登录?
- Asp.net中防止用户多次登录的方法
- Asp.net中防止用户多次登录的方法[转]
- Asp.net中防止用户多次登录的方法
- 在ASP.NET中怎么用SESSION判断用户是否登录?
- 在ASP.NET中用SESSION判断用户是否登录
- Asp.net中防止用户多次登录的方法
- ASP.NET仅配置数据库MSDE出现"用户 ’机器名/ASPNET’ 登录失败 解决方法
- [PHP/.NET]如何把PHP站点用户登录会话传递到ASP.NET站点
- ASP.NET jQuery 食谱11 (通过使用jQuery validation插件简单实现用户登录页面验证功能)
- asp.net系统增加用户登录后修改密码的功能
- Asp.Net使用加密cookie代替session验证用户登录状态 源码分享