请问各位大神 我想 记录 后台登陆 用户的 在线状态但是新手 不晓得具体咋整 网上搜了一些 大都不怎么详细貌似 好多记录方式 sessionState 的 存储方式 是默认的 InProc 但是这个容易丢失Session(比如修改了文件啥的)用StateServer 的话 Session_End 有不能触发求一个 完整 的 .net 记录在线状态 的 解决办法
调试欢乐多
Session_Start
Session_End用户在线列表
login01存登入时间
login02首次存登入时间
在线用户每隔3分钟更新login02为当前时间
根据他来判断状态
有一点 不太理解 望大神 解释教育 ·代码1void Application_Start(object sender, EventArgs e)
{
//在应用程序启动时运行的代码
Hashtable ht = new Hashtable();
Application["Admin"] = ht;
}
请问 这个Application_Start 是每个用户访问站点时 都触发 还是 说 整个站点在重启之前 只触发一次?
protected void Session_End(Object sender, EventArgs e)
{
Hashtable ht = (Hashtable)Application["Admin"];
foreach(DictionaryEntry item in ht)
{
if(DateTime.Parse(item.Key.ToString()).AddSeconds(20)<DateTime.Now)
{
ht.Remove(item.Key);
}
}
}这样 貌似 不止 删除了 某个 用户的状态信息 而是 删除了所有key超过20分钟 的 信息