none
wifnorm用户信息保存 RRS feed

  • 问题

  • 我在做一个c/s的物业管理系统,允许单机多用户登录,我不想在页面间频繁的传递用户对象,请问用静态变量行不行(好像不行,因为是多用户)?如不行怎么处理?

    2010年8月5日 14:48

答案

全部回复

  • 既然你是单机版的,你考虑两个问题:

    1)假设你是一台电脑,每次只允许一个人在使用,那么可以静态变量,但是你要设置一个注销的功能,这样一个人用完了注销本次的回话(重新打开登录窗口以便第二个人用自己的账户登录并且

    继续操作)。

    2)如果你是cs带有一点bs味道的(同一时间可以许多人连接内部网进行操作SQL什么的),建议你不要静态变量,而是设置一个公共变量(类变量),不同的人使用不同身份登录,公共变量

    因为随类变化而变化,不同机器上的实例肯定保存的不同人登录的账户信息什么的。VB中使用模块(Module),而C#中建议你创建一个公共类:UserLogin,其中有一个静态属性GetLoginUser,set方法用于创建不同用户登录的User类实例,get方法用于直接获取这个已经登录的实例。由于是静态属性,自然直接通过类名可以获得。

    2010年8月6日 2:21
    版主
  • 谢谢你的回答,可能我没有表达清楚我的意思:我的意思是我做的系统是供物业管理公司使用。c/s,需要客户机安装,我想问的是同一台客户机同一时间允许多个用户同时在线,在这种需求下每个用户的信息如何保存,用窗体传递可以但太麻烦,能否有其它更简单的办法?

    2010年8月6日 13:35
  • 共享内存,这样多个进程之间可以从共享内存中读取用户信息和写入用户信息;

    2010年8月9日 2:53