从这里出发,力争做一位新手中的高手....——lxinxuan's Blog

posts - 167, comments - 408, trackbacks - 24, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

今天上班时,遇到一个很常见的问题,就是如标题中所说,如何保存和即时更新用户信息,详细一点就是:

涉及到用户登录的web系统中,每当一个用户登录成功之后,
1)用户信息是怎么保存的?
2)保存在客户端还是服务端呢?
3)如果当用户处于登录状态中,万一用户信息中的某个值发生变化(比如管理员给用户账户充值,账户的余额发生变化)那么这种情况下,当前处于登录状态中的用户如何即时得到更新的值呢?

本来这是很一般的问题,然而,经过和同事的讨论之后,我对我以往的做法开始怀疑了。
现在不妨发到我一直以来都很信任和支持的博客园首页,哪怕一天也好,希望dudu能给我这个机会,让我分享园子里高手们的经验。

Feedback

#1楼    回复  引用  查看    

2007-05-10 10:36 by 随心所欲      
客户端上放个js定时器,AJAX回服务器取用户信息,然后在UI更新。

#2楼    回复  引用  查看    

2007-05-10 10:42 by 过江      
随心所欲 的方法我曾今也想过这样做点东西。可是这样服务器的负担是不是会很大呢?我非常的怀疑。这样的问题你又该怎么避免呢

#3楼    回复  引用  查看    

2007-05-10 11:05 by 随心所欲      
@过江
要好的功能又不肯下成本,怎么可能呢?
可以共享数据,然后再开一个服务器专作该用途。


要不就自己做客户端,smartclient,在客户端存储数据,定时同步数据。不过这个方案对客户的使用环境要求比较苛刻。纯asp.net的应用这样做不划算。

#4楼 [楼主]   回复  引用  查看    

2007-05-10 13:17 by ColdDog      
@随心所欲
那用户保存在客户端cookie中还是服务器端的session呢?

@过江
谢谢你的回复~
对问题1和2,你的一般做法是如何呢?就是说,不考虑第三个问题,你是怎么处理前两个问题的。

#5楼    回复  引用  查看    

2007-05-10 13:31 by 随心所欲      
Cookie保存用户基本登录信息,也就是用户id之类的,因为不想把过多信息放在cookie里面。
其他信息放在Session里面。
如果Session过期,还可以根据Cookie的用户标识来重新加载。

#6楼 [楼主]   回复  引用  查看    

2007-05-10 20:25 by ColdDog      
@随心所欲
但关于问题三,难道真的只有ajax请求服务器来解决吗?

#7楼    回复  引用  查看    

2007-05-11 02:10 by deerchao      
可以设置一个过期时间为10分钟或其它你觉得合适的时间的Cookie。

#8楼    回复  引用  查看    

2007-05-11 10:22 by 随心所欲      
@ColdDog

暂时认为这样。
或者你有自己的客户端。

#9楼 [楼主]   回复  引用  查看    

2007-05-11 16:23 by ColdDog      
这是个问题啊,真不知道怎么解决~

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》



相关文章:

相关链接: