屏蔽1000 ajax post请求,具有更好的性能

时间:2018-01-11 07:16:03

标签: c# jquery asp.net ajax

我们有一个安装在大约600多台服务器上的应用程序。该应用程序公开了一个web api,它可以获取应用程序的版本信息。

我的要求是在每台服务器上显示应用程序的版本。我已经在asp.net应用程序中实现了这个:

  1. 使用服务器名称作为参数在aspx.cs页面中编写Web方法。此方法将构建web api URL,调用web api,获取响应,构建对象并返回为json字符串。

  2. 我已经为上述方法编写了每个服务器名称的jquery ajax post请求。成功时,构建一个html表行并将其追加到表中。因此,当我们得到响应时,它会显示给用户。

  3. 这对于说30-40台服务器来说非常好。但是当它增加时,处理所有请求(30-40分钟)需要很多时间。并且有多个用户使用这个asp.net应用程序,我们开始收到错误。

    是否有任何其他方法可以更快地实现此目的,并且对于没有错误的多个用户?

1 个答案:

答案 0 :(得分:0)

此信息多久更改一次?如果这些数据很少更新,我建议如下。

在服务器启动时,让每个服务器将此信息保存到共享数据库表中。如果可以在服务器运行时更​​改应用程序版本,请更新数据库中的相应记录。

当您的服务获取有关应用程序版本的信息时,请从数据库表中获取一次,而不是直接从每个服务器请求它。