Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.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
C# 使用asp:Timer进行客户端更新的替代方法_C#_Asp.net_Timer_Client Server - Fatal编程技术网

C# 使用asp:Timer进行客户端更新的替代方法

C# 使用asp:Timer进行客户端更新的替代方法,c#,asp.net,timer,client-server,C#,Asp.net,Timer,Client Server,我有一个asp.net web应用程序,它使用计时器用新数据更新所有客户端。数据不在数据库中,而是在所有客户端共享的公共静态对象中。计时器有一个OnTick方法,该方法使用此全局数据更新每个客户端的控件,以便所有客户端都可以查看最新的数据。我想相当快地更新数据,所以我将计时器的间隔设置为1秒 自从实现这个计时器以来,我一直看到的问题是,有时候按下按钮什么都不做。有时(随机)用户必须点击按钮两次或两次以上才能发生任何事情,而其他时候则是第一次点击。我的猜测是,没有效果的按钮按下是因为它们是在计时器

我有一个asp.net web应用程序,它使用计时器用新数据更新所有客户端。数据不在数据库中,而是在所有客户端共享的公共静态对象中。计时器有一个OnTick方法,该方法使用此全局数据更新每个客户端的控件,以便所有客户端都可以查看最新的数据。我想相当快地更新数据,所以我将计时器的间隔设置为1秒

自从实现这个计时器以来,我一直看到的问题是,有时候按下按钮什么都不做。有时(随机)用户必须点击按钮两次或两次以上才能发生任何事情,而其他时候则是第一次点击。我的猜测是,没有效果的按钮按下是因为它们是在计时器执行OnTick方法的同时按下的(如果我错了,请纠正我)。我将计时器间隔设置为更长的时间,我没有看到这些无效的按钮按下,所以我知道这与计时器的干扰有关

除了使用计时器和OnTick更新所有客户端控件(无需每个客户端启动或请求更新)之外,还有其他方法吗?是否有一种事件驱动的方式来更新所有客户端,而不是依赖计时器(即,所有客户端在全局数据发生变化时更新/在服务器代码中调用某个方法时更新,而不是在设定的时间间隔内更新)