通过一个静态的实例list,每次系统登录的时候首先检查登录人loinguser是否在list中,如果loginuser不在list中,则将loginuser加到list中去。当Session超时或用户离开系统的时候,将其从list中删除
1
using System;
2
using System.Collections.Generic;
3
using System.Text;
4![](/Images/OutliningIndicators/None.gif)
5
//===========================================
6
//File: LoginUserList.cs
7
//Date: 2007-12-10
8
//Author: liuqhui
9
//Desc: LoginUserList class
10
//============================================
11![](/Images/OutliningIndicators/None.gif)
12
namespace BLL
13
{
14
public class LoginUserList
15
{
16
private static LoginUserList _instance = new LoginUserList();
17![](/Images/OutliningIndicators/InBlock.gif)
18
private IList<string> list = new List<string>();
19![](/Images/OutliningIndicators/InBlock.gif)
20
private LoginUserList() { }
21![](/Images/OutliningIndicators/InBlock.gif)
22
public static LoginUserList Instance{
23
get { return _instance; }
24
}
25![](/Images/OutliningIndicators/InBlock.gif)
26
public bool AddUser(string name) {
27
if (list.Contains(name))
28
return false;
29
else {
30
list.Add(name);
31![](/Images/OutliningIndicators/InBlock.gif)
32
return true;
33
}
34
}
35![](/Images/OutliningIndicators/InBlock.gif)
36
public void RemoveUser(string name) {
37
list.Remove(name);
38
}
39![](/Images/OutliningIndicators/InBlock.gif)
40
public void PurgeUsers() {
41
list.Clear();
42
}
43
}
44
}
45![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
12
![](/Images/OutliningIndicators/None.gif)
13
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
14
![](/Images/OutliningIndicators/InBlock.gif)
15
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/InBlock.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
23
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
24
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
27
![](/Images/OutliningIndicators/InBlock.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
30
![](/Images/OutliningIndicators/InBlock.gif)
31
![](/Images/OutliningIndicators/InBlock.gif)
32
![](/Images/OutliningIndicators/InBlock.gif)
33
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
34
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
35
![](/Images/OutliningIndicators/InBlock.gif)
36
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
37
![](/Images/OutliningIndicators/InBlock.gif)
38
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
39
![](/Images/OutliningIndicators/InBlock.gif)
40
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
41
![](/Images/OutliningIndicators/InBlock.gif)
42
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
43
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
44
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
45
![](/Images/OutliningIndicators/None.gif)