标签:style color io os ar java for sp art
最近做项目的时候碰到一个问题,就是第一个人已经登录成功了之后,第二个人用同一个账号也登录的时候,就会有第一个人被迫下线。。。
首先建一个CommonPage.aspx,后台代码:
public partial class CommonPage : System.Web.UI.Page
{
public CommonPage()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
override protected void OnInit(EventArgs e)
{
Hashtable hOnline = (Hashtable)Application["Online"];
if (hOnline != null)
{
IDictionaryEnumerator idE = hOnline.GetEnumerator();
while (idE.MoveNext())
{
if (idE.Key != null && idE.Key.ToString().Equals(Session.SessionID))
{
//already login
if (idE.Value != null && "HYWF-PRIMARY".Equals(idE.Value.ToString()))
{
hOnline.Remove(Session.SessionID);
Application.Lock();
Application["Online"] = hOnline;
Application.UnLock();
string js = "<script language=javascript>alert(‘{0}‘);window.open(‘/Manage/Login.aspx‘,‘_parent‘)</script>";
Response.Write(string.Format(js, "帐号已在别处登陆,你将被强迫下线(请保管好自己的用户密码)!"));
return;
}
break;
}
}
}
}
}
然后每个aspx页面继承这个页面,如:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Maticsoft.Web.Manage
{
public partial class Menu : Maticsoft.Web.CommonPage
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
但是也有个问题,如果是同时部署到多个服务器上,实现负载均衡那么就不能成功。一台服务器可以。。。
标签:style color io os ar java for sp art
原文地址:http://www.cnblogs.com/xiaoqi742709106/p/4022670.html