| (用户在线检测) /*程序实现思路: 该用户有以下几个属性: name:用户名 sessionID:用户ID,通过它唯一表示一个用户 iswhere:附加信息,用户当前所在位置 lasttime:用户登陆时间 curtime:本次刷新时间 在客户端,使用一个IFRAME,装载一个刷新页面,每隔XX秒更新一下他的名字对应的curtime,就表示他仍然在 在服务器端,建立一个守护线程,每隔固定时间就运行一遍,然后判断当前所有用户列表中的时间间隔是否超出了规定的时间,如果超出,则将该用户从在线列表中删除,这样就可以做到检测用户是否在线了,而如果再单独 写个用户离线后的处理,就可以解决好多人问到的:用户意外吊线后的处理。 */ #defineDEBUG usingSystem; usingSystem.Data; usingSystem.Data.SqlClient; usingSystem.Collections; usingSystem.Threading; usingSystem.Web; usingSystem.Diagnostics; namespaceSohoProject { //定义了一个结构 publicstructUser { publicstringname; publicDateTimelasttime; publicDateTimecurtime; publicstringsessionid; publicstringip; publicstringiswhere; } publicclassOnLineUser { privatestaticDataTable_alluser; //只读属性 publicDataTablealluser{ get{return_alluser;} } publicOnLineUser() { if(_alluser==null) { //defineuserlist //DeclarevariablesforDataColumnandDataRowobjects. _alluser=newDataTable((责任编辑:admin) |