原先在项目中采用轮询的方法,时间间隔为4秒,但是查询的sql语句中过于复杂,各种连接加嵌套,所以优化sql语句感觉力不从心。我的思路从减少无效请求次数出发,采用的一种办法是在指定表中加入触发器,当此表有增删改操作时,就向log表中记录一条数据,然后在aspx页面上采用长轮询的办法,不断地向后台ashx发送处理请求,并在后台处理过程中暂停4秒的间隔,分别记录下两次log表的数据量,然后再判断两个数据量是否一致,如果不一致的话,就后果新获取数据并返回数据给页面,如果一致就继续轮询。但是感觉这样处理总觉得也不太好,诚心请教大神,请各显神通!
