none
session的问题 RRS feed

  • 问题

  • 我在统计有几个人上www.yycred.com网站的时候,用到了session,网页显示: 您是该网站的第1个访问者, 第二次打开显示 您是该网站的第2个访问者,可是如果另外用机器登陆,却不会网下显示 您是该网站的第3个访问者............而是又从1开始,不知道怎么回事
    2012年2月26日 8:08

答案

  • 我在统计有几个人上www.yycred.com网站的时候,用到了session,网页显示: 您是该网站的第1个访问者, 第二次打开显示 您是该网站的第2个访问者,可是如果另外用机器登陆,却不会网下显示 您是该网站的第3个访问者............而是又从1开始,不知道怎么回事

    Session默认是存储在浏览器进程中的一个特殊身份识别标识,一般情况下,一个Session对应一个浏览器且不是跨域的。因此会产生你这样的情况。建议如果你统计访问网站总人数,用Application在Global.asax文件中代码如下:http://jaylong.iteye.com/blog/793571

    1. void Application_Start(object sender, EventArgs e)   
    2.    {  
    3.        //在应用程序启动时运行的代码  
    4.        Application["count"]=0;  
    5.    }  
    6. void Session_Start(object sender, EventArgs e)   
    7.    {  
    8.        //在新会话启动时运行的代码  
    9.        Application.Lock();//锁定  
    10.        Application["count"] = (int)Application["count"] + 1;//访客增加  
    11.        Application.UnLock();//解锁  
    12.    }  
    13.   
    14.    void Session_End(object sender, EventArgs e)   
    15.    {  
    16.        //在会话结束时运行的代码。   
    17.        // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为  
    18.        // InProc 时,才会引发 Session_End 事件。如果会话模式   
    19.        //设置为 StateServer 或 SQLServer,则不会引发该事件。  
    20.        Application.Lock();//锁定  
    21.        Application["count"] = (int)Application["count"] - 1;//访客增加  
    22.        Application.UnLock();//解锁  
    23.    }  


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处


    2012年2月26日 9:05