Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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# 如何处理大量ajax请求_C#_Jquery_Ajax_Performance_Ashx - Fatal编程技术网

C# 如何处理大量ajax请求

C# 如何处理大量ajax请求,c#,jquery,ajax,performance,ashx,C#,Jquery,Ajax,Performance,Ashx,我有很多guid(可能有400多个),我需要使用它们来查询数据库并获取状态。但是,我不知道是否会设置状态(另一个应用程序等待“作业”插入,然后运行它们并用该作业的状态更新行)。但我知道很快就会定下来。我必须使用AJAX请求来获取所有数据。实现这一目标的有效方法是什么?到目前为止,我有一个集合,每当在模型上设置GUID属性时,它就会通过每3秒发出ajax请求来开始轮询数据库。这是可行的,但速度很慢,我担心网络中充斥着太多ajax请求 我使用jquery.ajax将数据发送到调用存储过程的ashx处

我有很多guid(可能有400多个),我需要使用它们来查询数据库并获取状态。但是,我不知道是否会设置状态(另一个应用程序等待“作业”插入,然后运行它们并用该作业的状态更新行)。但我知道很快就会定下来。我必须使用AJAX请求来获取所有数据。实现这一目标的有效方法是什么?到目前为止,我有一个集合,每当在模型上设置GUID属性时,它就会通过每3秒发出ajax请求来开始轮询数据库。这是可行的,但速度很慢,我担心网络中充斥着太多ajax请求


我使用jquery.ajax将数据发送到调用存储过程的ashx处理程序

如果要避免主动轮询,最好的选择是WebSocket。 不幸的是,这是一项新技术,某些浏览器(IE9-)无法使用它。您可以看到它是否足够覆盖您,并且您可以为主要浏览器使用任何多边形填充,如IE8-9,它最终将使用活动轮询,但至少您的轮询请求将减少


在谷歌上查看更多信息,祝你好运

如果你控制着这项服务,那么修改它,这样你就可以接受批量订单。e、 g.不是每个请求发送一个guid,而是在一个请求中通过多个guid发送。与每个guid执行一个http请求的巨大开销相比,构建要发送的guid列表所需的少量额外处理将是非常小的。例如,看看YouTube上的一些教程,然后您只需在组中注册您的客户端(这将是ID的集合)signalR将继续在客户端上共享和显示数据,而无需手动处理ajax请求!好的,这是我最初的想法问题是我不知道哪些人有身份。所以,如果我发送400个GUID,我可能只返回10个实际状态。我将在我的问题中进一步澄清为什么。投票可能是危险的。你必须每3秒钟更新一次吗?10秒钟怎么样?30? 您可以将您的guid存储在会话中,以便轮询请求更轻松。guid多久更改一次?您希望有多少并发用户?听起来您有400个guid,每个guid分别请求一个状态?如果可以接受,您可以在一个请求/响应中完成所有操作。或者,您可以在请求中发送所有内容,并在更新完成时轮询更新,直到收到所有状态。