WCF对session的支持不是很好,用户登录验证可以通过Dictionary来做。实现思想是:当用户登录时,给用户赋值一个Guid值,以静态变量的形式保存在服务器上。每次用户登录,都赋予一个新的Guid值。登录成功时,返回给客户端一个Guid值,用户在进行其他操作时,提供用户名和guid值进行验证,以此判断是否是重复登录的用户,从而避免重复登录。服务端登录代码如下:
登录成功时,返回用户的角色和guid值。
SessionManager是服务器端的静态类,有一个静态属性Dictionary,用于保存登录用户的信息。具体实现代码如下:
客户端同样需要一个静态类来保存用户信息,以供验证需要。客户端登录成功后保存用户信息如下:
客户端sessionManager代码如下: