+ -
当前位置:首页 → 问答吧 → 求一种方法,当数据库字段状态改变后能即时发现变化,或者即时触发事件

求一种方法,当数据库字段状态改变后能即时发现变化,或者即时触发事件

时间:2011-12-07

来源:互联网


简称即时信息

比如:

当SQL数据库字段Mess_Status由0变成1后,在ASP.NET 能知道数据库状态发生了变化,从而触发相应事件,

千万不要使用 JS+AJAX不断的局部新的,因为用户多,服务器资源承受不了

请各路高手过来帮忙,给出思路或者有用的方法

作者: hcf_force   发布时间: 2011-12-07

数据库好象本身可以做这个吧。

作者: flyerwing   发布时间: 2011-12-07

引用 1 楼 flyerwing 的回复:
数据库好象本身可以做这个吧。

请给个思路,我使用SQL触发器,触发不了ASP.NET的事件

作者: hcf_force   发布时间: 2011-12-07

反向Ajax. 用HTTP长轮询,XMLHttpRequest对象.



作者: GT7466   发布时间: 2011-12-07

引用 2 楼 hcf_force 的回复:

引用 1 楼 flyerwing 的回复:
数据库好象本身可以做这个吧。

请给个思路,我使用SQL触发器,触发不了ASP.NET的事件


概念错误

作者: GT7466   发布时间: 2011-12-07

引用 4 楼 gt7466 的回复:
引用 2 楼 hcf_force 的回复:

引用 1 楼 flyerwing 的回复:
数据库好象本身可以做这个吧。

请给个思路,我使用SQL触发器,触发不了ASP.NET的事件


概念错误


可能我对这种技术不了解,但好像实现不了,在数据库状态发生改变情况下,在ASPX页面没有任何手动触发事件动作,就能体现出,数据库已经发生了变化,
能否提供详细一点你的思路

作者: hcf_force   发布时间: 2011-12-07

需要利用Cache缓存,把数据库该字段的记录加到Cache里,对其监控,一旦发现变化则触发事件。

作者: dalmeeme   发布时间: 2011-12-07

引用 5 楼 hcf_force 的回复:

引用 4 楼 gt7466 的回复:
引用 2 楼 hcf_force 的回复:

引用 1 楼 flyerwing 的回复:
数据库好象本身可以做这个吧。

请给个思路,我使用SQL触发器,触发不了ASP.NET的事件


概念错误


可能我对这种技术不了解,但好像实现不了,在数据库状态发生改变情况下,在ASPX页面没有任何手动触发事件动作,就能体现出,数据库已经发生……


确实无法由服务器主动给页面发信息。目前的很多反向技术其实也是通过轮询实现,简单点的就是你已经排除掉的方法:Ajax间隔请求----这种方法会产生很多空请求。 所以另一种思路是一个长轮询,一直挂在服务端,模拟一个有效的连接,这样的缺点是每个页面都维持着这样一个'连接'.

作者: GT7466   发布时间: 2011-12-07

使用轮询吧,没其它办法了吗?

作者: hcf_force   发布时间: 2011-12-07

这两种方法都是使用差不多的服务器资源的0.0

作者: hcf_force   发布时间: 2011-12-07