C#的代码,在网上找了,但是不行,有很大的误差,希望有人能帮忙,谢谢了!

解决方案 »

  1.   

    在线人数?
     总有个字段标识用户是否在线吧,假设这个字段是flag
     那就是 select count(*) from 你的表 where flag='用户在线的标识'
      

  2.   

    select count(*) from 你的表 where flag='用户在线的标识'!!
    帮你顶!!
      

  3.   

    1、ajax
    2、线程设立委托
    3、页面刷新iframe
    没10-15分钟,更新登录表,删除登录用户可使用sql代理删除设定时间未更新用户。1、3准确
    1无刷新
    3刷新
    2不准确
      

  4.   

    登录的时候:insert into TableNumOnline values(@SessionID,getDate())Global.asax中:void Session_End(Object sender, EventArgs e)
    {
        //delete TableNumOnline where sessionID=@SessionID
    }
      

  5.   

    传说中的timer就是这么用的(1项)
      

  6.   

    新建一个Global.asax文件
    代码如下:<%@ Application Language="C#" %><script runat="server">    void Application_Start(object sender, EventArgs e) 
        {
            // 在应用程序启动时运行的代码    }
        
        void Application_End(object sender, EventArgs e) 
        {
            //  在应用程序关闭时运行的代码    }
            
        void Application_Error(object sender, EventArgs e) 
        { 
            // 在出现未处理的错误时运行的代码    }    void Session_Start(object sender, EventArgs e) 
        {
            // 在新会话启动时运行的代码
            Application.Lock();
            Application["count"] = Convert.ToInt32(Application["count"]) + 1;
            Application.UnLock();
        }    void Session_End(object sender, EventArgs e) 
        {
            // 在会话结束时运行的代码。 
            // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
            // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer 
            // 或 SQLServer,则不会引发该事件。
            Application.Lock();
            Application["count"] =Convert.ToInt32( Application["count"]) - 1;
            Application.UnLock();
        }
           
    </script>后台
    Default.aspx.cs
    [code=C#]
     Response.Write(Application["count"].ToString());[/code]
      

  7.   

    后台
    Default.aspx.cs
     Response.Write("目前共有"+Application["count"].ToString()+"个人在线");