Foxtable(狐表)用户栏目专家坐堂 → 全局变量和静态变量问题


  共有3933人关注过本帖树形打印复制链接

主题:全局变量和静态变量问题

帅哥哟,离线,有人找我吗?
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/12 21:01:00 [显示全部帖子]

不管是全局还是静态,变量是存储在内存中的,并且是存在于打开的程序的内存里,只能单机使用。不同电脑都是不同的内存,怎么可能共用内存?就算是同一台电脑打开2个相同的程序,2个程序也是有各自的内存空间的,互不相干。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/12 21:44:00 [显示全部帖子]

如果是web服务,全局变量和静态变量是前端用户共用的,因为是在同一个服务器的项目程序。

如果是cs客户端,不同电脑和程序,全局变量和静态变量是互相独立的。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/12 22:34:00 [显示全部帖子]

同一个服务端程序,全局变量肯定也是共用的。我测试没有问题。下面实例分别使用2个不同的浏览器测试,使用不同的账户登录后,不管哪个浏览器点击查看按钮,表A记录的全局变量值都是同一个

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目21.zip



 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/13 10:52:00 [显示全部帖子]

这个道理就很简单了,不管打开哪个页面,都会执行httprequest前35行代码,注意17行这一句【yonghuxingming = dr("用户姓名")】,也就是说只要cookie有值,又会查询把当前用户的名称给全局变量了。

除非在后的时间比如几毫秒内同时有不同的用户登录,才有可能出现变量值和登录用户不一致的情况。

个人的建议是,不管什么情况,web服务端项目都不要使用全局变量和静态变量,否则因此出了问题,可能很难查找原因,没有必要给自己甚至后来人挖这么大的坑。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/13 11:11:00 [显示全部帖子]

用cookie吧。

为什么要ClearCookie清空所有?就不能直接删除某个cookie?

 回到顶部