c# webservice 如何防止客户端重复登陆,要考虑客户端意外掉线情况。听说是用Application,但不知道怎么用
我终于有点明白楼主的意思了。
个人看法:
1 建立2个webservice 由于本身服务为b/s结构模式,因此存在HttpSession对象
第一个service1为登陆时调用。功能:用户登录,如session中该用户名还不存在session对象,则建立,并返回sessionid到客户端,客户端保存,如已存在,则删除原有session,建立新session并返回新的id,客户端保存
第二个service2为跳转时使用。功能:判断该客户端id,用户名是否与session中id,用户名相同。如相同,继续,不同,自动退出
2 用户登录时调用service1进行登陆
3 用户跳转时调用service2进行判断
温馨提示:内容为网友见解,仅供参考
第1个回答 2011-06-03
webservice归根结底是一个http协议的responder,所以你就检查下cookie/session就行了。
第2个回答 2011-06-03
session 开始的时候记录用户的IP,并添加到数据库,session 结束的时候清除数据库信息。
客户端每隔端时间更新数据库的最后记录时间,服务器定时清除时间间隔大于某个时间的数据,这样应该没问题。
追问客户端用winform也是一样吗?
追答客户端用winform?服务端 web?
追问哦,客户端用winform登陆发送帐号密码,服务端webservice验证,并且检查用户是否已经存在。
如果客户端掉线,服务器会将用户清掉。
第3个回答 2011-06-04
登录时设置标志位 在Application中需要设置session的时间 否则意外掉线 你也无法正常登陆
Warning: Invalid argument supplied for foreach() in /www/wwwroot/aolonic.com/skin/templets/default/contents.html on line 45
相似回答