using System; using System.Data; using System.Data.SqlClient; using System.Collections ; using System.Threading ; using System.Web; using System.Diagnostics;
namespace SohoProject { //定义了一个结构 public struct User { public string name; public DateTime lasttime; public DateTime curtime; public string sessionid; public string ip; public string iswhere; }
public class OnLineUser { private static DataTable _alluser;
//只读属性 public DataTable alluser{ get{return _alluser;} }
public OnLineUser() { if(_alluser==null) { //define user list // Declare variables for DataColumn and DataRow objects. _alluser = new DataTable("onlineuser");
DataColumn myDataColumn;
// Create new DataColumn, set DataType, ColumnName and add to DataTable. myDataColumn = new DataColumn(); myDataColumn.DataType = System.Type.GetType("System.String"); myDataColumn.ColumnName = "name"; myDataColumn.AutoIncrement = false; myDataColumn.Caption = "name"; myDataColumn.ReadOnly = false; myDataColumn.Unique = false; _alluser.Columns.Add(myDataColumn);
//功能说明:将当前用户加入在线列表 //如果该用户的数据当前仍然在在线列表中,则暂时先不让该用户登陆,提示用户存在 public bool AddUserToOnLine(User user) { #if DEBUG (new SohoProject.SohoDebug()).WriteToDoc("开始进入<将当前用户加入在线列表>...."); (new SohoProject.SohoDebug()).WriteToDoc("\r\n"); #endif
//开始搜索是否已经存在该用户,如果存在则是改变数据,否则添加新的用户 string strExpr; strExpr = "sessionid=''''" + user.sessionid + "''''"; DataRow[] curUser; // Use the Select method to find all rows matching the filter. #if DEBUG (new SohoProject.SohoDebug()).WriteToDoc("搜索字符串:" + strExpr); (new SohoProject.SohoDebug()).WriteToDoc("\r\n"); #endif