设为首页 加入收藏

TOP

使用ExtJs开发MIS系统轮询
2014-11-23 22:12:31 】 浏览:420
Tags:使用 ExtJs 开发 MIS 系统


  我们仍然以用户登录为例,先来看轮询的过程:
  每一次用户成功登陆后,服务器端都会向客户端颁发一个身份令牌,这个令牌是一个GUID。
  客户端每一分钟向服务器端发起一次请求,报告当前用户登陆令牌。
  服务器取得该令牌后,验证用户登录信息,如果用户登录信息有效,则更新用户最后活动时间,然后返回用户当前登录有效的信息,否则返回错误。
  客户端解析登陆信息。
  如果令牌失效,例如用户被管理员锁定或删除等,则报告登陆失效,跳转登陆界面。否则什么都不做。
  这样就能实现:
  任何用户信息的改变都会及时体现,例如该用户接收到新的系统短消息,则下次客户端轮询时会有报告。
  管理员人员可以管理用户登陆状态,较准确的查看当前登录用户或者踢出用户等。
  实际上,轮询根本目的是使服务器端可以更准确的了解客户端状态,也有机会告诉客户端要做些什么,这模拟了一个双向请求的链接。
  使用ExtJs实现轮询是非常用容易的,内置的Ext.TaskMgr封装了setInterval,clearInterval等方法,例如上面的轮询可以用下面的代码来实现:
  1: Srims._activeTask = {
  2:   run: function(){
  3:     var token = Srims.currentLoginLog.token;
  4:     if (token == undefined)
  5:       Srims.currentLoginLog.token = Cookies.getToken();
  6:     Ext.Ajax.request({
  7:       url: ’/User.asmx/Active’,
  8:       success: Srims._onActive,
  9:       method: ’POST’
  10:     });
  11:     
  12:   },
  13:   interval: 1000 * 60
  14: }
  15: Ext.TaskMgr.start(Srims._activeTask);
  详细说明可以参考ExtJs文档中Ext.TaskMgr和Ext.util.TaskRunner这两个类。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Java中classpath和路径的使用 下一篇使用ExtJs开发MIS系统客户端MVC

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目