【问题标题】:ASP.NET WebAPI Ajax with progressASP.NET WebAPI Ajax 取得进展
【发布时间】:2015-08-06 20:46:51
【问题描述】:

我有一个很长的 webAPI 请求,基本上是这样的:

1. retrieves a list of item categories from the db 
2. for each category, retrieve all the items in the category

现在,整个过程需要很长时间,我不希望用户等到整个过程结束,如果一个类别已经完成加载我希望它返回给客户端

有人知道我该怎么做吗?每当请求的一部分完成时发送请求并从服务器获取进度通知?

【问题讨论】:

  • 你需要中断你的请求。用于每个循环。如果第一个类别的元素被下载,那么在进入第二个类别之前对它们做一些事情。

标签: c# jquery ajax asp.net-web-api progress


【解决方案1】:

当数据可用时,您可以使用SignalR 将数据从服务器发送到客户端。

另一个选项是从客户端轮询。客户端发出初始请求,这会触发服务器端进程,该进程准备数据并将其保存在某处(在内存中,在数据库中)。然后客户端轮询服务器以获取新的可用数据,直到服务器进程完成。

【讨论】:

    【解决方案2】:

    您需要中断您的请求。使用 for 循环。如果第一个类别的元素被下载,那么在进入第二个类别之前对它们做一些事情。

    所以您的请求将进入某个循环。如果您使用的是 asp.net webforms,则可以使用 Jquery 或页面方法

    【讨论】:

      【解决方案3】:

      【讨论】:

      • 您如何从客户端使用它并让用户了解进度,或在数据可用时显示数据?
      猜你喜欢
      • 2016-09-21
      • 2013-04-23
      • 1970-01-01
      • 1970-01-01
      • 2015-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-02
      相关资源
      最近更新 更多