源码位置:source_code\chapter_6\6.9\online
1,
public class OnlineUserModule : System.Web.IHttpModule
{
public event OnlineUserEventHandler UserCheckIn;
protected void OnUserCheckIn(OnlineUserItemEventArgs e)
{
if (this.UserCheckIn != null)
{
this.UserCheckIn(this, e);
}
}
UserCheckIn没有具体的处理,
OnlineUserItem item = new OnlineUserItem();
System.Security.Principal.IIdentity identity = context.User.Identity;
if (identity.IsAuthenticated)
{
item.Id = identity.Name;
item.Name = identity.Name;
}
else
{
item.Id = context.Request.AnonymousID;
item.Name ="匿名";
}
这里item.Name ="匿名";是否不合适?
后面判断在线用户的时候用了 if (dict.ContainsKey(item.Name))
这样所有匿名登录用户都是1个了
统计在线功能不能使用,请求修改。
这里匿名用户都只统计一次。
如果希望不同,可以用 id 来代替名字