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
C# 用于实时通知的Updatepanel_C#_Asp.net_Ajax_Updatepanel - Fatal编程技术网

C# 用于实时通知的Updatepanel

C# 用于实时通知的Updatepanel,c#,asp.net,ajax,updatepanel,C#,Asp.net,Ajax,Updatepanel,这对多达1000个用户有效吗?有一个特定HTML控件的更新面板(MySQL数据库,select语句检查数据库中的更新),只是一小部分持续刷新1秒或500毫秒?这会极大地影响性能吗? 我在asp.net中使用web表单如果您经常刷新数据,并且您的服务器不支持这么多请求,尤其是当您有成千上万的用户发出请求时,您不应该使用更新面板,所有这些都访问相同的数据库,想象一下,如果您的select语句没有得到很好的管理,并且您的表中有数百万条记录,您的select语句每秒都会为数千个用户过滤掉这些记录。这可能

这对多达1000个用户有效吗?有一个特定HTML控件的更新面板(MySQL数据库,select语句检查数据库中的更新),只是一小部分持续刷新1秒或500毫秒?这会极大地影响性能吗?
我在asp.net中使用web表单

如果您经常刷新数据,并且您的服务器不支持这么多请求,尤其是当您有成千上万的用户发出请求时,您不应该使用
更新面板
,所有这些都访问相同的
数据库
,想象一下,如果您的
select
语句没有得到很好的管理,并且您的表中有数百万条记录,您的select语句每秒都会为数千个用户过滤掉这些记录。这可能会导致巨大的性能滞后

因此,是的,它将广泛影响性能

取而代之的是,转向事件驱动的方法,这种方法仅在数据库发生更改时向您发送数据,即当有实时通知时,例如
SignalR
SqlDependency
。这将是一件漫长的事情,但它将大大提高应用程序的性能

否则,您可以始终使用智能刷新技术,例如当用户在页面上且选项卡处于焦点时点击服务器。在这种情况下,使用
jQuery
ajax
将非常有益


因此,总而言之,您不应该使用UpdatePanel并每秒钟或每半秒刷新一次,这将在长期运行中造成问题。

如果您计划在某个时间间隔刷新某个部分,您可以使用ajax,因为它比使用update panel更有效。下面的链接解释了如何提高更新面板的性能,感谢po的回答,但我只是一名学生,我没有太多的资源在将来为1000名客户测试网站,有了这么多的客户端,ajax是否能够在不降低性能的情况下处理这些请求?两者都有一些优点和缺点,但对于HTML中的频繁更新,最好使用jquery ajax,因为jquery ajax重量更轻,通常更快,因为updatepanel强制执行完整的回发周期,即使只有少量生成的页面返回到客户端。因此,它的效率较低,但开发起来要容易得多,而且您的代码仍然可以在禁用js的情况下工作。参考:Signal是否在asp.net中使用web表单?因为我已经在asp.NET的web表单版本中制作了应用程序。是的,它可以很好地处理web表单,每个平台都有自己的消费方式。与其他平台相比,SignalR对于web表单不会有太大的不同