c# – 带有进展的ASP.NET WebAPI Ajax

我有一个非常长的webAPI请求基本上执行以下操作:

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

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

有谁知道我怎么做到这一点?请求的一部分完成后,服务器发送请求并获取进度通知?

最佳答案 您可以使用
SignalR将数据从服务器发送到客户端(如果可用).

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

点赞