我在统计有几个人上www.yycred.com网站的时候,用到了session,网页显示:
您是该网站的第1个访问者, 第二次打开显示 您是该网站的第2个访问者,可是如果另外用机器登陆,却不会网下显示
您是该网站的第3个访问者............而是又从1开始,不知道怎么回事
Session默认是存储在浏览器进程中的一个特殊身份识别标识,一般情况下,一个Session对应一个浏览器且不是跨域的。因此会产生你这样的情况。建议如果你统计访问网站总人数,用Application在Global.asax文件中代码如下:http://jaylong.iteye.com/blog/793571
-
void Application_Start(object sender, EventArgs e)
-
{
-
//在应用程序启动时运行的代码
-
Application["count"]=0;
-
}
-
void Session_Start(object sender, EventArgs e)
-
{
-
//在新会话启动时运行的代码
-
Application.Lock();//锁定
-
Application["count"] = (int)Application["count"] + 1;//访客增加
-
Application.UnLock();//解锁
-
}
-
-
void Session_End(object sender, EventArgs e)
-
{
-
//在会话结束时运行的代码。
-
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
-
// InProc 时,才会引发 Session_End 事件。如果会话模式
-
//设置为 StateServer 或 SQLServer,则不会引发该事件。
-
Application.Lock();//锁定
-
Application["count"] = (int)Application["count"] - 1;//访客增加
-
Application.UnLock();//解锁
-
}
QQ我:
下载MSDN桌面工具(Vista,Win7)
我的博客园
慈善点击,点击此处