SVG + Javascript + ASP.NET + WebService开发楼宇管理系统(六)


续上一篇SVG + Javascript + ASP.NET + WebService开发楼宇管理系统(五)


这一篇继续上一个主题,总结一下开发过程中遇到的问题。
目前的架构是这样的:



用户在WEB画面上设定某个设备的状态后,后台处理会将这个请求保存到数据库(No.1),和硬件打交道的那个进程会实时地去监测数据库一旦有请求的话即会立刻处理(上图中未画出来)。与此同时WEB画面的客户端会执行一个SetInterval,过一定时间就去起动WebService(No.2),WebService返回当前设备的状态以及请求处理的情况(No.3)。请求处理结束,将最新的状态显示在画面上,并且ClearInterval。

起初请求只有一个,表示/设定/监视都没有什么问题。
可是后来请求一多之后,就出现问题了。基本上是以下两个现象
1,请求和结果不匹配
2,请求无法终了

仔细一想通过JavaScript调用WebService,WebService并不是立刻就将结果返回给JavaScript的,两者并不是同步的,而是异步的关系。
所以在WebService的返回值中必须表明是对于哪个请求的返回值。否则当然会产生请求和结果不匹配的情况,请求无法终了也是理所当然的。

下一篇开始介绍JavaScript操作SVG的一些技巧。

posted on 2006-04-12 20:08  天行健,君子以自强不息;地势坤,君子以厚德载物!  阅读(1842)  评论(3编辑  收藏  举报

导航