在基类basePage中定义了一个IsLogin的变量。那么在哪个方法中判断比较合理?Page_Load()?OnInit()?还是有什么其他建议?还有点:目前用的是cookie记录用户登陆的!
        那么:在线用户如何反映给其他用户呢?也就是在线会员如何统计?
谢谢~

解决方案 »

  1.   

    在Page_load事件中判断就行统计在线人数在.asax(全局应用程序类)里写<%@ Application Language="C#" %><script runat="server">    void Application_Start(object sender, EventArgs e) 
        {
            // 在应用程序启动时运行的代码
            Application["onLinePerson"] = 0;//初始化在线人数    }
        
        void Application_End(object sender, EventArgs e) 
        {
            //  在应用程序关闭时运行的代码    }
            
        void Application_Error(object sender, EventArgs e) 
        { 
            // 在出现未处理的错误时运行的代码    }    void Session_Start(object sender, EventArgs e) 
        {
            // 在新会话启动时运行的代码
            Session.Timeout = 30;//过期时间,以分钟为单位
            Application.Lock();
            Application["onLinePerson"] = Convert.ToInt32(Application["onLinePerson"])+1;
            Application.UnLock();    }    void Session_End(object sender, EventArgs e) 
        {
            // 在会话结束时运行的代码。 
            // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
            // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer 
            // 或 SQLServer,则不会引发该事件。
            Application.Lock();
            Application["onLinePerson"] = Convert.ToInt32(Application["onLinePerson"].ToString()) - 1;
            Application.UnLock();
        }
           
    </script>然后在Page_load里调用Application["onLinePerson"]就行了