Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查SQL数据库以查看ASP.NET中的更改的最佳做法_Javascript_Asp.net_Ajax_Reverse Ajax - Fatal编程技术网

Javascript 检查SQL数据库以查看ASP.NET中的更改的最佳做法

Javascript 检查SQL数据库以查看ASP.NET中的更改的最佳做法,javascript,asp.net,ajax,reverse-ajax,Javascript,Asp.net,Ajax,Reverse Ajax,我有一个网页,只要数据库中的某个值发生变化,它就需要立即刷新。我看到了很多反向AJAX特性,它们可以保持会话运行 我的主要问题是,你认为我应该用什么 我的另一个问题是。。。我不能用javascript做一个无限循环,然后调用一个webmethod来检查数据库吗?为什么我需要comet sockets或web服务或类似的东西?传统的解决方案是实现一个“心跳”,每隔15秒左右(这可以很明显地改变)发出一个轻量级AJAX“HEAD”请求,服务器端控制器会在回复头中指出有要接收的内容 然后,应用程序可以

我有一个网页,只要数据库中的某个值发生变化,它就需要立即刷新。我看到了很多反向AJAX特性,它们可以保持会话运行

我的主要问题是,你认为我应该用什么


我的另一个问题是。。。我不能用javascript做一个无限循环,然后调用一个webmethod来检查数据库吗?为什么我需要comet sockets或web服务或类似的东西?

传统的解决方案是实现一个“心跳”,每隔15秒左右(这可以很明显地改变)发出一个轻量级AJAX“HEAD”请求,服务器端控制器会在回复头中指出有要接收的内容

然后,应用程序可以再次请求进一步的数据。请注意,您只需在一个请求中执行此操作,而且效果也很好—特别是如果您的数据可能会经常更改的话

这本质上就是您所描述的“无限循环”,但这是一个误导性的术语。这通常是通过反复调用
setTimeout()
来实现的-不要使用
setInterval()
。您希望在发送另一个请求之前等待响应或超时,否则事情可能会变得复杂并导致头痛

考虑到对服务器的请求将很快与此应用程序获得的流量成倍增加。每个请求都应该是安全的,但是是轻量级的。处理请求的服务器应该实现一种缓存形式,您不希望每次心跳请求都进行数据库调用

这种老式的方法很管用,我在任何地方都见过。不过,开发人员可以使用以下更新的技术:


一种较新的方法是使用asp.net,但由于您使用的是asp.net,我建议您研究它,它结合了多种技术,并确保在较旧的浏览器/设备上的兼容性。

见仁见智。你可以。演出